→ Private previews, opened with a code.

The access screen you copy-paste and ship

A complete, single-file “enter a code to continue” screen for private previews, staging pages, and client links — verification logic included. No backend required to start, no vendor lock-in ever. You own every line.

Loading preview…

How it works

Protected in four steps

No account, no backend to stand up first.

Step 01

Hash your code

Locally, in your browser console. The plaintext never touches a file.

Step 02

Copy the template

One file, straight into your project — no package to maintain.

Step 03

Set the env var

The hash goes in your framework's public env var, never the code.

Step 04

Ship it

Wrap what you're protecting. Upgrade to server mode later, same markup.

Use cases

Built for the times you don't need real auth

One shared code, no accounts, no backend to stand up first.

Client preview

Share work before it's public

Send a link to a client or stakeholder without it ending up indexed, forwarded, or crawled — the code is the only thing standing between the link and the open internet.

Staging app

Keep pre-prod off search engines

A staging or preview deploy needs to be reachable by your team, not discoverable by everyone else. One shared code is usually all that's called for.

Internal dashboard

Soft-gate a low-risk internal tool

Everyone who has the code is already trusted — you're not modeling per-user permissions, just keeping the tool off a public URL.

Local mode vs. server mode

Start local, upgrade when it matters

Same component, one prop different — the honest trade-offs, in brief.

Local modeServer mode
SetupPaste a template, drop in a hashOne prop swap + a small endpoint
Hash visibilityShips in the client bundleStays on your server
Rate limitingNot possibleYes, per identifier
StopsCasual visitors, crawlers, forwarded linksDetermined visitors too

Templates

Complete screens, ready to copy

Each one is a single file — background, card, form, and verification logic included. Pick the look, wire a hash, ship it.

Threat model

The honest version

Knock Codes stops casual visitors, search engines, and forwarded links. Local mode does not stop anyone who opens DevTools — the hash ships in your client bundle by design. Server mode (swap one prop) stops determined visitors. This is a velvet rope, with an optional real lock — never marketed as more than that.