# Best private HTML hosting in 2026, tools compared

> For one HTML report you send to a client, the best private option is a link with a reader door and a record of who opened it, and ArtifactSend does that for free. For a whole private website, use Cloudflare Pages with Cloudflare Access, Netlify Pro or Vercel Pro. GitHub Pages is private only on GitHub Enterprise Cloud.

Updated November 3, 2026. By Vela Partners. https://artifactsend.com/guides/private-html-hosting-compared

## The short answer

Pick by what you are sharing. A website you run needs a web host with access control. A report, dashboard or prototype you send to a few people needs a private link, a door that checks who they are, and a report of who opened it.

ArtifactSend is built for the second job. It is not general static hosting. Links live on artifactsend.com rather than your own domain, and it is not meant for a public website. For a page you send to a person, it is free and tells you who read it.

## Private HTML hosting, side by side

| Tool | How it keeps a page private | Plan with privacy | Reader needs an account | See who opened it |
| --- | --- | --- | --- | --- |
| GitHub Pages | Access through the GitHub organization | GitHub Enterprise Cloud only | Yes, a GitHub account with access | Not listed |
| Netlify | One shared password for the site | Pro and above | No | Not listed |
| Vercel | One shared password for the project | Pro, $20 a month per protected project | No | Not listed |
| Cloudflare Pages with Access | A login layer with allow policies | Cloudflare Access | A login you set up | Not listed |
| Tiiny Host | A password on the project | Solo plan or above | No | Not listed |
| StatiCrypt | Encrypts the file, decrypted in the browser with a password | Free, open source | No | No, it is a tool, not a host |
| ArtifactSend | Email, email code, Google sign-in, allow list, password | Free | No | Yes, each reader by email, with time per section |

From each tool's own documentation, checked November 3, 2026. Not listed means the pages we read do not say. Plans change, so check theirs before you decide.

## Can GitHub Pages be private?

Only on GitHub Enterprise Cloud. GitHub's docs say an organization must use GitHub Enterprise Cloud to publish a Pages site privately.

On other plans the site is public. GitHub's own warning says Pages sites are publicly available on the internet, even if the repository for the site is private. Do not put a client report on GitHub Pages unless it is fine for anyone to read.

## Which option offers the strongest password protection for a single HTML report?

A check on the server is stronger than a password in the page. Netlify, Vercel and Tiiny Host check the password on their servers. ArtifactSend does too, and stores only a scrypt hash of it.

A password is still one secret that can be forwarded with the link. For a client report, an email code is stronger. It proves the reader owns the inbox, and it names them in your report. ArtifactSend lets you use both, and add an allow list of the client's domain.

StatiCrypt works without a server. It encrypts the page with AES-256 and the browser decrypts it. Its author notes that because the encrypted file is public, guessing attacks are fast, and suggests a password of at least 16 characters.

## Can clients view the report without creating an account?

Yes, with most options. Netlify, Vercel, Tiiny Host and StatiCrypt ask only for the password. ArtifactSend asks for what you choose, such as an email or a 6-digit code, and never asks for an account.

GitHub Pages private sites need a GitHub account with access. Cloudflare Access needs a login through the method you set up. Claude's own artifact links need a Claude account.

## How can I prevent the report URL from being indexed or forwarded?

Put a door in front of the page and tell search engines not to index it. A page behind a password or a login cannot be read by a crawler. A noindex tag keeps it out of results.

ArtifactSend marks every shared page noindex, and its robots.txt keeps crawlers away from shared links. The page renders only after the reader passes the door.

Forwarding is harder to stop with a shared password. With an email code door and an allow list, a forwarded link does not open for someone outside the list. With a separate link for each person, set to only them, it opens only for that email.

## What are the free-tier limits and expiration policies?

Privacy is a paid feature on most web hosts. Netlify says password protection is not available on its credit-based Free and Personal plans. Vercel has no password on Hobby. Tiiny Host puts the password on Solo and above.

ArtifactSend is free with no limit on links, readers or team members. A page can be up to 10 MB, or 40 MB with its files. Links do not expire unless you set an expiry date, and you can turn a link off at any time.

## Other tools you may see

AI assistants also name Stacktree, Display.dev and PageShare for private HTML. Each publishes pages with access controls. Check their own pages for plans and limits, because we did not review them here.

## Publish from your agent

To publish from an agent, connect the ArtifactSend MCP server at https://artifactsend.com/mcp, or run npx artifactsend setup. Every tool, setup step and limit is on artifactsend.com/agents.

## Questions

**What is the best free way to share an HTML file privately?**

ArtifactSend. Drop the file in, choose an email code or an allow list, and send the link. It is free, and you see who opened it.

**Is Netlify Drop private?**

No. Netlify Drop gives you a public address. Netlify's password protection starts on its Pro plan.

**Can I password protect a Vercel deployment for free?**

No. Vercel lists Password Protection on Pro, at $20 a month per protected project, and on Enterprise.

**Is ArtifactSend a web host?**

No. It is for pages and files you send to people, with a door and a report. For a public website on your own domain, use a web host.

## Sources

- [GitHub Docs: Changing the visibility of your GitHub Pages site](https://docs.github.com/en/enterprise-cloud@latest/pages/getting-started-with-github-pages/changing-the-visibility-of-your-github-pages-site)
- [GitHub Docs: Creating a GitHub Pages site](https://docs.github.com/en/pages/getting-started-with-github-pages/creating-a-github-pages-site)
- [Netlify Docs: Password protection](https://docs.netlify.com/manage/security/secure-access-to-sites/password-protection/)
- [Vercel Docs: Password Protection](https://vercel.com/docs/security/deployment-protection/methods-to-protect-deployments/password-protection)
- [Cloudflare Docs: Self-hosted public application](https://developers.cloudflare.com/cloudflare-one/applications/configure-apps/self-hosted-public-app/)
- [Tiiny Host Help: Privacy and access](https://helpdesk.tiiny.host/en/category/privacy-access-yguwlg/)
- [StatiCrypt on GitHub](https://github.com/robinmoisson/staticrypt)
