FoldRender / Guides / Clone a private repo on your phone
FoldRender guide

Clone a private repo on your phone

A public repository clones anonymously — that path is verified. A private one needs a credential, and FoldRender offers two: GitHub's OAuth device flow, or a personal access token stored in the Android hardware keystore. Both are described here from the shipped implementation; neither has been run end to end on a clean device, and this page says so where it matters rather than at the bottom in small print.

Get it on Google Playfree See what FoldRender does

Step by step

  1. Install from Google Play

    FoldRender is on the Play Store as FoldRender: Git Repo Reader, package id dev.foldrender.app, free and distributed worldwide. Install it the ordinary way — no allow installs from this source prompt to approve, and updates arrive on their own. The app declares minSdk 30, so it needs Android 11 or newer; Play will tell you if a device is below that rather than letting you install a build that cannot run.

  2. Open the git panel

    Branch glyph in the top bar. Sign-in sits at the top of the panel under the heading GitHub, above the clone field, because it is the thing you do before the clone rather than after it.

  3. Path A — Sign in with GitHub

    Tap Sign in with GitHub. The app requests a device code and shows a short code with an Open GitHub button that takes you to github.com/login/device; you type the code there, authorize, and the token arrives on its own — the panel polls rather than making you come back. When it lands, the panel reads “Signed in as your-login” with a Sign out button. Device flow is the only flow offered because it is the only GitHub OAuth flow that completes without a client secret, which an app that ships to devices cannot hold. The build on Google Play has an OAuth client id compiled in, so you get the button rather than a request to paste a client id.

  4. Path B — a personal access token

    Tap Credentials & identity next to the clone button. The form takes Host (pre-filled github.com), Username and Personal access token, and Save token confirms with “Saved for <host>”. This is the path for GitLab, Bitbucket, a self-hosted Forgejo or anything else that is not GitHub — device flow is GitHub-specific, the token form is not.

  5. Set a commit identity while you are in there

    The same form has Name and Email fields under Commit identity. They are written into a .gitconfig inside the app's private storage, because Android's user.home is / and is not writable — without a real home directory JGit's config loading differs between ROMs. Setting the identity is only relevant if you later use the commit path, which is not a verified path.

  6. Clone the private repository

    Paste the HTTPS URL into Clone an HTTPS repository URL and tap Clone. Credentials are looked up by host, so the same stored token serves every repository on that host. HTTPS only — an SSH remote will not work, because shipping a key agent is a cost the app deliberately does not pay.

  7. Read it

    From here it is identical to a public clone: the repository opens as the workspace, the tree lists (slowly on a large repository, behind a spinner with no progress indicator), and every file renders in the right-hand pane. Nothing about a private repository changes how it is read.

How FoldRender handles it

Tokens are write-only from the UI

A saved token is encrypted with an AES-GCM key held in the Android hardware keystore, and it is never read back into a field. The screen that took it clears itself, and no screen in the app displays a stored token — so a screenshot or a shoulder-surfer recovers nothing.

Why device flow and not a browser redirect

GitHub documents client_secret as required on the access-token endpoint for the browser flow, and treats code_verifier as an addition to it rather than a replacement. An app that ships no secret gets incorrect_client_credentials — after the user has already authorized in the browser. A button guaranteed to fail at the last step is worse than no button, so browser sign-in is offered nowhere in the UI.

A client id is not a secret

The identifier a GitHub OAuth app is issued is public by design; it is compiled into the build rather than being asked for. A build shipped without one falls back to a one-time field for pasting a client id, and if neither is present the panel says plainly that GitHub sign-in is not configured in that build.

What does FoldRender not do?

The honest list — shipped-but-unverified behaviour included, so you can tell before installing whether this build does the thing you came for.

How does FoldRender compare with the other ways to read a repo on Android?

Four apps people actually reach for, and the one axis that separates them: whether the repository ends up on the phone, and whether anything renders it once it is there.

ToolDownload priceWhere you get itClones to the deviceRenders PDF / notebook / MarkdownEditor or shell
FoldRender 0.8.2US$0Google Play, worldwideYes — HTTPS, anonymous for public reposYes — native Compose renderersNo, deliberately: a reader, not an IDE
GitHub MobileUS$0Google Play and the App StoreNo — it reads repositories hosted on GitHubOnly what GitHub itself renders, onlineEdits files inside a pull request
Termux + gitUS$0F-Droid or GitHubYes — the real git CLINo — terminal text onlyYes, a full shell and any CLI editor
MGit 1.7.0 (2023)US$0F-Droid onlyYes — clone, pull, push, HTTPS or SSH keysNoNo — its own listing says it ships no text editor

Prices are for the download. GitHub Mobile’s capabilities follow your GitHub plan; Termux and MGit are both free software. MGit’s version and date are from its F-Droid listing.

What are the numbers behind FoldRender?

Every figure here is read out of the shipping build or off a primary source listed at the foot of this page — nothing is rounded up for effect.

FAQ

Can I clone a private repository on Android?
The app has two credential paths for it — GitHub OAuth device flow, and a personal access token stored in the hardware keystore — and both are in the shipped build. Neither has been verified end to end on a clean device; the verified path is anonymous cloning of a public repository.
How does the GitHub sign-in work?
OAuth device flow. The app shows a short code, you enter it at github.com/login/device and authorize, and the token arrives on its own while the panel polls. When it lands the panel shows the account you signed in as.
Why is there no ordinary browser sign-in?
Because it could not work from an app that ships no client secret. GitHub requires client_secret on the token exchange for the browser flow, so the redirect would fail with incorrect_client_credentials after you had already authorized — the worst possible moment. It is left out rather than offered and broken.
Can I use GitLab, Bitbucket or a self-hosted host?
Yes, through the personal access token form. It takes a host, a username and a token, so it is not GitHub-specific. Device flow is.
What happens to the token I paste in?
It is encrypted with an AES-GCM key in the Android hardware keystore and never read back into the UI. The field is cleared after saving and there is no screen that displays a stored token.
Does signing in let me push?
Signing in stores a credential. Push itself ships in the build but is unverified, and there is no way to edit a file in the app, so there is nothing to push. Treat authentication as what gets a private repository onto the device to read.
How much does FoldRender cost?
US$0. It is free on Google Play, distributed worldwide, with no billing library in the build, no subscription and no paid tier. The current release is version 0.8.2.
Which Android versions does FoldRender run on?
Android 11 and newer. The app declares minSdk 30 — the API level Android 11 shipped with in 2020 — and is compiled and targeted against API 36. It is developed and tested on a Galaxy Z Fold 7, which launched in 2025.
Does FoldRender work offline?
Yes, once a repository is on the device. Cloning and pulling need the network; reading, searching, and rendering Markdown, source, PDFs and notebooks out of a clone or a picked folder do not. Signing in to GitHub is optional and only matters for private repositories.
How is this different from GitHub Mobile, Termux or MGit?
GitHub Mobile reads repositories hosted on GitHub and does not clone to the phone. Termux and MGit both clone and then leave rendering to you — Termux gives you a shell, MGit ships no text editor at all. FoldRender clones over HTTPS and renders what it clones, on the inner screen.

Where can I check these claims?

The primary documents behind the figures above, so you can confirm any of them without taking our word for it.

Page last reviewed 2026-08-27, against FoldRender 0.8.2.

More FoldRender guides