Skip to content
Geld

Privacy policy

Geld collects nothing.

This page is the privacy policy for the Geld browser extension and for this website. It is written to be complete enough to serve as the store listing's privacy policy.

Summary

  • Geld does not collect, store or transmit any personal data, usage data or telemetry. There is no analytics and no error reporting.
  • Geld has no server. The only network requests it makes go to GitHub: to the GitHub hosts you use, to fetch diffs that GitHub would serve you anyway, and, only if you choose to sign in, to GitHub's Gist API to sync your settings to a secret gist on your own account.
  • Your settings are stored in your browser's extension sync storage. Nothing about your browsing is stored anywhere else.
  • Signing in with GitHub is optional and goes through the Geld GitHub App, whose permissions are listed on GitHub's consent screen; the gist is the only thing sign-in itself touches. In the extension the token stays on your device; on geld.sh it is kept only in an encrypted cookie in your own browser. There is no database.

Data collection

None. The extension has no account system, no identifiers, no crash reporter and no analytics of any kind. The developer receives no information from installs of Geld.

Network requests

Geld runs only on github.com and on GitHub Enterprise Server hostnames you explicitly add in the options (your browser asks for permission for each one). On those hosts it reads the page you are viewing. When a page does not include per-file diffs (a pull request's conversation tab, pull request lists, large pull requests that GitHub loads progressively), Geld requests the pull request's .diff file from the same host, exactly as if you had appended .diff to the URL yourself. The request carries your existing GitHub session cookies, which is what lets it read private repositories you already have access to. No request is ever made to any other host, and nothing about your browsing is sent anywhere.

Optional GitHub sign-in and settings sync

You can sign in with GitHub from the popup or the options page to sync your settings between browsers. This is off until you choose it. Sign-in goes through the Geld GitHub App using GitHub's device flow: Geld asks GitHub for a short code, you confirm it on github.com, and GitHub issues a user access token for the App. There is no Geld server in this exchange and no client secret. The App's permissions are shown on GitHub's consent screen; sign-in itself only uses the gists permission. Geld then reads your public profile (login and avatar, shown in the popup) and keeps your settings in a secret gist on your own GitHub account named geld-settings.json. Only you and Geld running in your signed-in browsers can read or change it. The token expires after eight hours and is renewed by the extension on the device that signed in; it is stored in browser.storage.local there and is never synced or sent anywhere except to github.com and api.github.com. Signing out deletes the token; deleting the gist from GitHub removes the synced copy. You can uninstall or revoke the App at any time from your GitHub settings.

You can also sign in on geld.sh/settings to edit the same gist from any browser. That uses the same GitHub App through GitHub's web flow: GitHub sends a one-time code to www.geld.sh/auth, the site exchanges it for a token and stores the token, its refresh token, your login and avatar URL in an encrypted, HttpOnly cookie in your browser (30 days, or until you sign out, which also asks GitHub to revoke the token). geld.sh has no database and keeps nothing between requests: it reads or writes your gist and renews the token only while serving a request you make, and never logs their contents. A second, readable cookie holds just your login and avatar so the page header can show them.

Storage

Settings (which categories to hide, your patterns and categories, repository rules, Enterprise hosts and a few preferences) are stored in browser.storage.sync, so they follow your browser profile if your browser syncs extension data. Parsed diffs are cached in browser.storage.local on your device, keyed by commit, to avoid refetching; this cache contains only line counts per file path and expires on its own. Uninstalling the extension removes all of it. The options page lets you export and import your settings as a JSON file you control.

Permissions

  • Access to GitHub hosts — to read diff pages and fetch .diff files on github.com (and patch-diff.githubusercontent.com, where GitHub redirects them) and the Enterprise hosts you add; api.github.com is used only for the optional sign-in and gist sync.
  • Storage — to save your settings and the diff cache.
  • Scripting / content scripts — to register the content script on Enterprise hosts you add.
  • Offscreen document (Chrome and Edge) — to detect your light or dark colour scheme so the toolbar icon matches it.

This website

https://www.geld.sh is a static site with no analytics, advertising or third-party scripts. It sets no cookies unless you sign in (see above); a theme choice made in the header is kept in your browser's local storage. The install buttons link to GitHub Releases or to browser extension stores, which have their own privacy policies.

Changes and contact

If this policy ever changes, the change will be visible in the public history of this page (opens in a new tab). Questions or concerns: please open an issue on GitHub (opens in a new tab).