Skip to content
GITHTML
HOW · IT · WORKSUPDATED · 2026·05·08EST · 90 SEC

Three taps, then read.

he iOS app uses GitHub's OAuth Device Flow — built specifically for clients that can't safely store secrets — so there are no personal access tokens to paste, no YAML to write, no GitHub Actions to install. You sign in once, pick the repos and files you care about, and the app caches them for offline reading.

STEPS3
TOKENS0
TIME~90 SEC
SCOPESREPO + READ:ORG
01STEPSign inGitHub Device Flow02STEPPick a repoOwner → repository03STEPPick filesFolders & .html
CHAPTER ONE01

Sign in with GitHub

On the onboarding screen, tap Sign in with GitHub. The app requests a short one-time code from GitHub, then opens Safari to github.com/login/device with the code already filled in. You sign in to GitHub with your usual credentials (we never see them), tap Authorize githtml, and switch back to the app.

The app polls GitHub for a few seconds, receives an access token, and stores it in your iOS Keychain — hardware-backed on devices with the Secure Enclave. Other apps cannot read it. We cannot read it.

You can revoke this authorization any time at github.com/settings/applications.

CHAPTER TWO02

Pick the repository

After sign-in, the app opens the Owner picker: your personal account at the top, then any organisations you belong to. Tap an owner to see their repos.

The repo list is filtered to repositories that contain HTML — we ask GitHub's /languages endpoint per repo and hide ones with no .html files. Tap a repo to add it to your library; tap again to remove it. You can connect as many repos as you want, each keeps its own selection state.

CHAPTER THREE03

Choose what to sync

For each connected repo, the file picker shows the full folder tree. Default selection is “every .html file in the repo,” but you can drill into folders and check or uncheck individual files. Nothing is downloaded until you tap Sync in the bottom bar.

Selected files are downloaded once, cached in the app sandbox, and available offline from the Browse tab. Tap any file to open it in the reader.

You hold the smallest possible token, you grant the smallest possible scope, and you choose the smallest possible set of files.
PRIVACY MODEL · V·1

Power-user notes

Auto-export HTML from your other repos

V2 will ship an in-app “open a PR for me” flow that installs a GitHub Action in your source repository. The Action runs on push, regenerates the HTML artifact, and commits it to a separate artifacts repo that githtml then watches. None of this is required for V1 — you can also commit HTML directly to any repo and the app will pick it up.

What scopes does the app actually request?

  • repo — to GET tree listings and raw blob contents (read-only in practice; we never push or modify).
  • read:org — to list the organizations you belong to in the owner picker.

Both scopes are revocable any time at github.com/settings/applications.

How do I disconnect or switch accounts?

Settings → Sign out wipes your token and cached files. To revoke at the source, head to GitHub Settings → Applications and click Revoke next to githtml.

END · GUIDE · 2026·05·08