miinideckmiinideck
PricingUse casesBlog
Sign in
Controls & plans

Password-protect a static HTML page without a server (2026)

Two ways to put a password on a static page without running a backend — client-side encryption you set up yourself, or a hosted gate you don't. What each actually protects, and which fits a page you're handing to one person.

By miinideck ai research team·July 24, 2026·5 min read
TL;DR
  • You can put a password on a static HTML page without running a backend, and there are two honest ways to do it — but they protect different lines, and picking the right one starts with naming what you're protecting against.
  • Client-side encryption (StatiCrypt and its kin) is genuinely serverless: the page is encrypted into a file that decrypts in the reader's browser. Great on a static host you control — but the encrypted contents reach the reader's machine before they type the password.
  • A hosted gate isn't serverless; it means you don't run the server. Upload the page to a private-link host, set a password, and the file is held back until the password checks out server-side — so nothing is transmitted to someone who hasn't cleared the door. Zero setup, and the stronger model when the contents are actually sensitive.
  • "Without a server" hides two different wishes: without any server (client-side, you set it up) or without your server (hosted, zero setup). The second is usually the real ask.

Search "password protect a static HTML page" and you land in a genuinely useful corner of the web: tools and guides for putting a lock on a page when you don't have — and don't want to build — a backend. The advice is mostly sound. What's usually missing is the one distinction that decides which approach you should pick: what is the password actually protecting against? Answer that first, because the two serverless routes defend different lines.

Route one: client-side encryption (genuinely no server)

Tools like StatiCrypt take your HTML and encrypt it into a new file. When someone opens that file and types the password, JavaScript in their browser decrypts the contents on the spot. There's no backend anywhere — which is exactly why it's popular: you can drop the encrypted file on any static host, even one that offers no access controls of its own, and it stays scrambled to anyone without the passphrase.

For a lot of cases that's the right tool, and it deserves credit rather than a caveat-first framing. If you're self-hosting a page and you want it off casual eyes without standing up any infrastructure, client-side encryption does that cleanly.

Its limit is structural, and worth understanding rather than fearing: the encrypted payload is delivered to the reader's machine before the password is entered. The password unlocks a file they already have. Against forwarding, accidental discovery, and casual snooping, that's fine — the passphrase is the wall. Against a threat model where you don't want the contents leaving the server at all until access is proven, a file that's already on the reader's disk is a different situation. This is the same client-side-versus-server-side line that decides what "password protected" actually means on any shared link.

Route two: a hosted gate (no server of yours)

The other route trades "no server anywhere" for "no server you run." You upload the page to a private-link host and set a password on it. There is a server — the host's — but you don't build it, run it, or maintain it. And because there's a real server in the path, it can do the thing client-side encryption structurally can't: hold the file back until the password is verified server-side, so the contents aren't transmitted to anyone who hasn't cleared the gate. The reader who doesn't have the password gets a password form, not your page.

That's the precision hiding inside "without a server." Client-side encryption is without any server. A hosted gate is without your server. When most people ask how to password-protect a page without a backend, the second is what they actually want: they don't want to operate infrastructure, but they're happy for the host to, especially if it means the file stays put until access is proven — and no setup on their side.

Drop a self-contained HTML file, toggle a password, get a private link. The file is held server-side until the password checks out — and password protection is free on every plan. (Want to see the flow first? An anonymous drop at /try needs no signup, though the password toggle lives behind the free account.)

Get a free account

The password stacks on top of a private URL

One thing worth naming: on a private-link host the password isn't the only thing standing between your page and the world. Every link already gets an unguessable 32-character URL that isn't listed or indexed, so the page is private by default before any password. The password is a second factor, for when the contents warrant one — so even someone who ends up with the link still can't open the page. Hiding the URL stops discovery; the password stops access by someone who got the URL anyway. The two layers are the reason a private link is a cleaner default than dropping the file in a shared Drive folder, where the access model is coarser and the URL is ordinary.

Which to pick

  • You're self-hosting on a static host and want to deter casual access with zero infrastructure → client-side encryption (StatiCrypt and friends). Serverless, self-contained, right for that job.
  • You're handing a finished page to a specific person and the contents matter → a hosted gate. No server of yours, the file held back until the password checks out, and it stacks on an already-private URL.

Both are legitimate answers to "without a server." They just mean different things by it, and defend different lines. Name the threat — casual discovery, or contents that shouldn't leave the server unproven — and the method picks itself.

More in Controls & plans

Sharing a Claude artifact with one person, when the only button says publish (2026)

Anthropic's docs are explicit: on Free, Pro and Max, publishing makes an artifact publicly available to anyone with the link. Org-only sharing is a Team and Enterprise feature. Here's what that means if you're an individual sending work to one named client.

August 1, 2026·5 min read

When 7-day self-destruct is the wrong default (and when it's perfect)

A short-lived link reads as a feature for one-off reviews and a bug for permanent references. The shape of the engagement decides which one the file needs.

June 8, 2026·7 min read

You published the wrong file. Can you take it back? (2026)

Instant hosts trade takedown for tamper-proofing — and most people meet that trade at the worst possible moment. What immutable actually means, why support usually can't help, and the three questions worth asking before you press publish.

August 7, 2026·7 min read

Send your own private link.

miinideck turns a single HTML file into an unguessable link with optional password and expiry. Default-private, never indexed.

See pricingTry it free →
miinideck

HTML files, finally as links — for AI builders, agencies, and consultants. Default-noindex, default-private, default-yours.

Product

  • Pricing
  • Use cases
  • Try it free

Resources

  • Blog
  • Featured on
  • Report abuse

Legal

  • Privacy
  • Terms
© 2026 miinideckMade for people who don't want their work indexed.