miinideckmiinideck
PricingUse casesBlog
Sign in
Use cases/Host a static site privately when GitHub Pages can't publish privately on your plan

GitHub Pages can't publish privately on your plan. Here's the shape that works.

GitHub Pages is excellent and free for what it's designed to do: publish a static site from a repository, rebuilt on every push, on infrastructure you never think about. The wall people hit is visibility. Per GitHub's own documentation, publishing a Pages site privately requires a GitHub Enterprise Cloud organisation with Pages access control — it isn't available on Free, Pro, or Team. And even where it is available, access is granted to GitHub users with access to the repository, which means there is no way to hand the site to someone who isn't a GitHub user at all. If your reader is a client, that's the end of the road, regardless of plan.

Try it now

Drop a file — get a private link in seconds. No sign-up.

Drop an HTML file or ZIP bundle, or click to choose.
Single file or ZIP. Max 3 MB.

Up to 3 MB, link self-destructs after 7 days. Sign up free to keep links forever, password-protect them, and store more.

How it works

  1. 1

    Build the site the way you already do, then upload the output rather than pushing it. Zip the built folder — the entry HTML with its JS, CSS, and assets — and drop it in. The bundle is unpacked with relative paths intact and served behind one link in seconds, so a static site behaves exactly as it does locally.

  2. 2

    The link is unguessable and no-indexed by default. Your reader opens it in any browser with no GitHub account, no organisation membership, and no repository permissions — because there's no repository involved. Add a password if the work is confidential, or an expiry if it's tied to a review window; both are free on every plan.

  3. 3

    Re-upload when you rebuild and the link stays the same, so a client who bookmarked it in week one is still looking at the current build in week six. On Studio ($14.99/mo) it runs on your own domain with white-label, which reads differently on a client deliverable than any platform URL does.

Frequently asked questions

Can I make a GitHub Pages site private?

Only under specific conditions. GitHub's documentation states that privately publishing a Pages site requires a GitHub Enterprise Cloud organisation with Pages access control enabled, on an eligible project site built from a private or internal repository. It isn't offered on Free, Pro, or Team plans. One thing that catches people: building from a private repository does not by itself make the published site private — the site's visibility is a separate setting you have to configure explicitly.

My repo is private. Why is my site public?

Because they're two different settings. Repository visibility governs who can see your code; Pages visibility governs who can reach the published site, and on the plans most people are on there is no private option for the second one. A private repo can and does produce a fully public site. That surprises people at exactly the wrong moment, which is why it's worth checking rather than assuming the repo setting carried over.

Can I share a private Pages site with a client?

Not as a GitHub Pages site. Access control there is granted to GitHub users with access to the repository, so your reader needs a GitHub account and a permission grant on your repo. For a colleague that's a minor annoyance; for a client, a stakeholder, or anyone outside engineering it isn't going to happen. This is the specific case where a link that requires nothing of the recipient is the only workable shape.

Should I move my whole site off GitHub Pages?

Probably not, and this isn't an argument for that. If your site is public and git-backed — documentation, an open-source project page, a personal site — Pages is a genuinely good answer and rebuilding on push is worth a lot. The use here is narrower: the builds that shouldn't be public. Client deliverables, previews before launch, internal reports. Many people run both and pick per project rather than migrating.

Does it work with a static site generator?

Yes — the input is the build output, not the source, so the generator is irrelevant. Run your build, zip the output directory, and upload it. Next.js static exports, Astro, Hugo, Jekyll, Eleventy, Vite builds all land the same way. What isn't supported is anything needing a server at request time: API routes, server-side rendering, a database. That part needs a real deployment on Vercel or Netlify.

What does it cost to try?

Nothing, and you don't need an account to see whether it fits — an anonymous upload takes a file up to 3 MB and returns a link that self-destructs after 7 days. With an account the free tier allows 10 MB per file; Solo is $4.99/mo with 25 MB files and links that never expire; Studio is $14.99/mo with 50 MB files, a custom domain, and white-label.

Learn more

  • Private static site hostingThe general case, framed for delivery.
  • Host a Next.js static exportThe same route for a built site.
  • A client proofing linkWhere the no-account link matters most.
  • PricingFree to start; Solo $4.99, Studio $14.99.

More use cases

  • Let any MCP-capable AI tool publish finished HTML to a private link and replace it in place
  • Stand up a private data room of documents behind one link
  • Share a Replit app as a link that isn't tied to your repl
  • Share a PowerPoint as a live private link instead of a heavy email attachment

Start free. Keep it private.

No card to try, no sign-up to get a link. Sign up free to keep links forever, password-protect them, and store more.

Get started free →Try without signing in
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.