Your build tool spits out a dist/ of HTML, CSS, JS, and assets. Hushdrop uploads the whole thing in one command — no project, no per-file deploy, not public by default. Optionally put the entire site behind a single password.
Publish a folder or a zip
hush ./dist # a whole folder → /<slug>/ hush site.zip # or a zip of the same hush ./dist -p secret # lock the entire site behind one password
Every file uploads under /<slug>/ and the site goes live at https://your-domain/<slug>/. The root index.html is branded and gets a <base href> so relative links resolve from any path. Works with any build output — Next.js, Vite, Astro, Storybook, Webpack. .git and node_modules are skipped.
How the whole-site password works
Add -p and the entire multi-file site sits behind one unlock page. Enter the password once and a signed, site-scoped session cookie carries you across every page and asset. The password never leaves your machine — the server stores only a salted PBKDF2 verifier. This is a server-side gate at the edge (not the client-side encryption used for single files), so it protects a multi-page site that single-file encryption can't.
Self-host only
Whole-site hosting runs on your own deployment — the one-click Deploy to Vercel behind hush deploy, which provisions the gate's signing secret for you. The zero-setup managed tier stays HTML/Markdown-only.
Drop it
hush file.html — or a PDF, markdown, image, or any file — from your terminal or any AI agent.
Branded & encrypted
Your logo, OG card, and badge are baked in, then it's AES-256 encrypted client-side behind your unlock gate.
Live on your domain
Uploaded to your Vercel Blob and served at yourdomain.com/slug. URL + password on your clipboard.
FAQ
Can I upload a folder, not just a zip?
hush ./dist uploads the folder directly (it skips .git and node_modules). A zip works too: hush site.zip.Does the password protect every page or just the homepage?
/<slug>/, so every page and asset needs the password; one unlock sets a session cookie for the entire site.