Commit 808cf7cd34

808cf7cd346287d86dffbb05acf1927a1b4ef06a

parent: 6020b2b81e

Verified · cmc ci/build: success

cmc <hello@cleberg.net> · 2026-08-28 22:13 UTC

privacy: say what the mobile client does

The page describes the server and says nothing about the iOS app, and it
is the policy URL that app's store listing points at. States what is
verifiable: one token in the Keychain, the active account in
preferences, no analytics or third-party SDK, and revocation ending
access immediately.

Layout: unified · split

internal/web/templates/privacy.html +13
@@ -20,6 +20,19 @@ they are indistinguishable from nonexistent.</p>
20downloads your account bundle, git data is yours by clone, and 20downloads your account bundle, git data is yours by clone, and
21<code>gitbay migrate</code> moves everything to another instance.</p> 21<code>gitbay migrate</code> moves everything to another instance.</p>
22 22
23<h2>The mobile client</h2>
24<p>The iOS app is a client for an instance you name at sign-in. It has
25no account of its own, no sign-up, and no server of ours behind it: it
26speaks only to that instance, over HTTPS.</p>
27<p>Signing in stores one API token in the device Keychain. Which account
28is active is kept in app preferences; nothing else is retained on the
29device. The app embeds no analytics, no crash reporting, and no
30third-party SDK, so there is nothing to opt out of. Removing the account
31deletes the token from the Keychain.</p>
32<p>Tokens are minted over SSH and can be revoked at any time with
33<code>gitbay auth token revoke</code>, which ends the app's access
34immediately.</p>
35
23<h2>This instance ({{.Host}})</h2> 36<h2>This instance ({{.Host}})</h2>
24{{if .Notice}}{{range paragraphs .Notice}}<p>{{.}}</p>{{end}} 37{{if .Notice}}{{range paragraphs .Notice}}<p>{{.}}</p>{{end}}
25{{else}}<p class="desc">The operator of this instance has not added 38{{else}}<p class="desc">The operator of this instance has not added