GitHub Pages Private Repos: What Engineering Teams Use Instead
Public GitHub Pages: free, anyone can view. Fine for open source documentation, portfolios, and public APIs. Wrong for anything internal.
The GitHub Pages private repo problem
Public GitHub Pages: free, anyone can view. Fine for open source documentation, portfolios, and public APIs. Wrong for anything internal.
Private GitHub Pages: requires GitHub Enterprise Cloud. At $21/user/month, 100 viewers cost $2,100/month. And every single viewer must have a GitHub account — not just a GitHub account, but a GitHub account that's been added to your organization with the right permissions.
Your PM. Your VP of Engineering. Your sales team. Your legal team. Your designer. None of them have or need GitHub accounts. Getting them onboarded to GitHub Enterprise for the sole purpose of viewing an HTML report is a support ticket waiting to happen.
The audience problem
GitHub Pages was designed for engineers sharing with engineers. The workflow makes sense when both sides of the collaboration are comfortable with git: git push, get a URL, your colleague checks it out.
Internal content rarely stays within engineering. The architecture proposal goes to the PM for prioritization. The test report goes to the QA manager and the VP for the go/no-go decision. The competitive analysis goes to sales. The data dashboard goes to finance.
None of these audiences are in your GitHub organization. None of them should need to be.
What the alternative looks like
dsp publish ./output.htmlAny @yourco.com Google or Microsoft email can access it. No GitHub account. No Enterprise Cloud. No organization membership. No IT ticket.
$49/month flat for unlimited viewers.
Direct comparison
| Display | GitHub Pages (private access) | |
|---|---|---|
| Cost for 100 internal viewers | ✓ $49 flat; no viewer seats | Up to $2,100/mo if viewers need Enterprise licenses† |
| Viewer access | ✓ Company SSO or verified work email; no GitHub account | GitHub account with read access to the publishing repo |
| Publishing model | ✓ Publish an artifact: dsp publish ./file.html | Publish a repo-backed site: create repo, commit, wait for Pages deploy |
| Non-developer publishing | ✓ Drag-and-drop, MCP, or CLI | Possible via GitHub UI, but still requires repo permissions and commits |
| Viewer audit trail | ✓ Built-in: viewer, time, artifact, version | No per-viewer artifact trail (repo admin audit logs are separate) |
| Best fit | AI-generated artifacts for non-engineer viewers | Websites hosted directly from a GitHub repo — project pages, blogs, docs |
When GitHub Pages is still the right choice
Your audience is entirely within engineering and everyone already has GitHub. Your content is public (open source documentation, public project pages). You're on Enterprise Cloud already and the cost is absorbed. You need the git-based workflow for continuous deployment of your docs site from a repo.
When Display is the right choice
Any viewer who isn't a GitHub user. Any team that needs to share with non-engineers. Any company that isn't already on Enterprise Cloud and doesn't want to pay $2,100/month to share internal HTML.
FAQ
Can I use GitHub Pages public for internal sharing by using an obscure URL?
Technically yes, but "security through obscurity" doesn't satisfy security policy, compliance requirements, or information hygiene. A public URL forwarded once by any viewer becomes accessible to anyone they forwarded it to. This isn't access control.
Does GitHub offer a cheaper option for private Pages?
No. Private repository Pages requires Enterprise Cloud at $21/user/month. GitHub Team ($4/user) does not include private repo Pages.
What if some of our viewers don't have a company email?
Display lets you grant access to specific individual emails — including external emails at partner or client companies. The default gate is your company domain; individual exceptions are configurable per artifact.
Free tier. No credit card. One-time password auth for viewers on free, Google + Microsoft SSO on Teams ($49/month flat).