ipinternalpage
CompareUpdated

GitHub Pages is for public static sites. internalpage is for private team artifacts.

Both can publish browser-viewable files, but the access boundary is different. Choose GitHub Pages for a public repository-backed website and internalpage when the finished HTML, Markdown, or OpenAPI artifact should require Google sign-in.

GitHub Pages: public static website publishing
internalpage: private artifact publishing
Google Workspace and selected-email access
Stable URLs and repeat updates from CI

Choose GitHub Pages for a public static website

GitHub Pages integrates repository content and GitHub Actions with public website hosting. It is a strong fit for project documentation, portfolios, open-source sites, and other material intended to be reachable as a public web page.

  • Repository-driven publishing and review
  • Custom workflow support through GitHub Actions
  • Custom domains for public websites
  • A natural fit when search engines and outside visitors should reach the content

Choose internalpage for a private artifact

internalpage starts from a different requirement: a finished HTML, Markdown, or OpenAPI file needs a stable browser link, but page content should be returned only after the viewer passes the configured Google access check.

  • Google Workspace or selected-email access
  • Publish from a local file, script, or CI job
  • Read-only rendering for Markdown and OpenAPI
  • Custom domains that keep the private viewer policy

An unlisted URL is not private access control

A difficult-to-guess public path only reduces discovery; anyone who obtains it can still request the page. Sensitive reports need an identity decision before content is served, plus a test that unauthorized accounts cannot receive it.

  • Do not rely on robots.txt, a secret slug, or disabled navigation for confidentiality
  • Assume public-host URLs can be forwarded, logged, and discovered
  • Keep credentials out of the artifact even when it is access-controlled

Compare the publishing workflows

GitHub Pages is a website deployment target: build or collect the site, package the Pages artifact, and deploy it. internalpage is an artifact publishing target: point the CLI at one supported file and a slug, then repeat the command to replace that page.

  • Use GitHub Pages when the repository defines the public site
  • Use internalpage when the generated file is the deliverable
  • Use either from CI, but store private publishing credentials as secrets
Publish a private HTML artifact
npx @internalpage/cli publish ./report.html --slug weekly-report

Know the limits of a single-file private page

internalpage is optimized for finished, browser-viewable artifacts. GitHub Pages or another application host is better when you need a multi-route site, a large asset tree, a public frontend build, or complex client-side deployment behavior.

  • Use a full host for multi-page applications and large static bundles
  • Use an application platform for server-side state and database writes
  • Use internalpage for reports, references, runbooks, and review pages

Decision checklist

Start with the audience and runtime, not the deployment brand. If the content should be public and maintained as a website, GitHub Pages is usually the simpler fit. If it should remain a private read-only team artifact, internalpage removes the need to add a separate access layer.

  • Public, indexable website: GitHub Pages
  • Private Google-protected report: internalpage
  • Existing private app with its own origin: an identity proxy may fit better
  • Backend or interactive state: use an application host
FAQ

Common questions

Can GitHub Pages host a private internal report?

GitHub Pages is designed as static website hosting, not page-level Google Workspace access control. Do not treat an unlisted Pages URL as private.

Can both products publish from GitHub Actions?

Yes. GitHub Pages has first-party Actions workflows for site deployment, while internalpage can publish a supported generated file with its CLI and a stored secret.

Does internalpage replace GitHub Pages for documentation sites?

No. Use GitHub Pages for a public multi-page documentation site. Use internalpage for private, mostly read-only artifacts that need Google-based access.

Which should I use for a recurring HTML report?

Use internalpage when the report is private and should keep one Google-protected URL. Use GitHub Pages when the output is intentionally public and part of a repository-backed site.