git-grasp Privacy & legal
Privacy & legal
Last updated: 17 August 2026
This notice explains how personal data is handled for git-grasp and the website at https://git-grasp.cremaschi.dev (the “Site”). It is written for users in the EU/EEA and Italy under the GDPR and Italian privacy law.
git-grasp is a local-first tool for semantic search of Git commands. The installable CLI is designed so search runs on your machine. The Site is a marketing page plus an optional in-browser playground.
1. Controller
The data controller is:
Edoardo CremaschiPiazza della Vittoria, 2/B
27100 Pavia PV, Italy
Email: edoardo (dot) cremaschi (at) gmail (dot) com
For privacy requests, use that email with subject line git-grasp privacy.
2. Local-first CLI (telemetry off by default)
If you install and use the git-grasp CLI on your own device:
- Search queries and results are processed locally.
- Catalog and embedding data used for search stay on your device after install/seed (subject to normal local storage on your machine).
- Optional cookieless analytics are off by default. The CLI does not send search queries or results until you explicitly opt in (soft invite on first interactive search, or git-grasp telemetry on).
- When enabled, the CLI may send PostHog events cli_opt_in and cli_search (query text, result metadata, latency, app version, coarse OS) to the same analytics property as the Site — see §4 and §5a.
- Disable anytime with git-grasp telemetry off, or hard-off via DO_NOT_TRACK=1 / GIT_GRASP_TELEMETRY=0. You can also dismiss the invite permanently (“don’t ask again”).
Leaving CLI telemetry off remains the privacy-preserving default versus the Site playground (where starting the playground implies consent to playground events).
3. What the Site does and does not do
The Site:
- does not require an account;
- does not use cookies for authentication or advertising;
- does not sell personal data;
- does not show ads.
The Site may use:
- cookieless analytics (PostHog), when configured;
- playground telemetry (queries and results), when you start and use the playground;
- browser localStorage for a non-identifying preference (skillLevel);
- third-party infrastructure to host the Site, load fonts, and download the playground model/catalog.
4. Website analytics (PostHog)
When analytics are configured, the Site uses PostHog in cookieless mode (no analytics cookies for tracking).
What may be collected
Typical PostHog page/event data:
- page path / URL of the visit;
- referrer;
- browser user-agent (and derived device/browser class);
- approximate location derived by the collector from IP (country/region level; the collector may see the IP at request time);
- timestamps and technical event metadata;
- custom events described in §5 when the playground is used.
Purpose: understand Site usage and improve the product (traffic, feature use, reliability).
Legal basis: legitimate interest in operating and improving a free developer tool, balanced against minimal, cookieless collection and no advertising/sale.
Retention: events are retained for up to 1 year (PostHog Cloud free-tier retention), then deleted or anonymised.
Ads / sale: none. Analytics data is not sold and not used for cross-site advertising.
How to limit: browse without interacting with the playground, use a tracker blocker, or use the CLI with telemetry left off (the default).
5a. Optional CLI telemetry
When you opt in, the CLI may send the following events to PostHog (same store / retention as §4):
- cli_opt_in — once when telemetry is enabled (app version, coarse OS);
- cli_search — the query text, returned result metadata, latency, mock mode, app version, coarse OS, and an opaque rotating session_id (local config; cleared when telemetry is turned off).
Legal basis: consent. Opt-in via the invite prompt or git-grasp telemetry on. Withdraw with git-grasp telemetry off (or DNT / GIT_GRASP_TELEMETRY=0). Withdrawal does not erase events already collected; request deletion via the controller email where events can be linked to you.
Do not put secrets, credentials, or private repo URLs into CLI queries if telemetry is enabled.
5. Playground telemetry
The in-browser playground runs search in your browser after you download assets. Separately, when analytics are configured, the Site may send playground events to PostHog, including:
- web_cli_load — load success/failure, approximate bytes, duration, mock mode, coarse connection/device info;
- web_cli_search — the query text you typed, returned result metadata (commands/examples/scores/status), latency, mock mode, and coarse connection/device info.
Purpose: improve search quality and playground reliability (what people ask, what is returned, where it fails).
Legal basis: consent. By clicking Start (or otherwise starting the playground) and running searches on the Site, you consent to sending those events for the purpose above. You may stop at any time by leaving the playground / Site. Withdrawal does not affect processing already completed.
How to avoid:
- do not start the playground; or
- use the CLI instead with telemetry left off (default).
Do not type secrets, credentials, private repo URLs, or other sensitive personal data into the playground. Treat playground queries as potentially logged.
6. Large downloads (catalog and model)
After you start the playground (and in some cases after a catalog prefetch on a strong connection), the browser downloads:
- a catalog / vector pack from the Site (same origin); and
- an embedding model from Hugging Face / related CDNs (third party),
together typically around ~99 MB (roughly ~9 MB pack + ~90 MB model; sizes can change as builds update).
These downloads are needed to run search in the browser. They are not an account signup, but they do create network requests to the Site and to model hosts (see §8).
7. Local storage on your device
The Site may store in your browser:
| Key | Purpose |
|---|---|
| git-grasp.skillLevel | Remembers preferred skill in the playground (parked; no retrieval effect today) |
This stays in your browser. Clear site data / localStorage to remove it. It is not used as an account identifier.
No auth cookies are set by git-grasp.
8. Third parties
Depending on configuration and features used, processing may involve:
| Party | Role |
|---|---|
| PostHog (e.g. PostHog EU Cloud / *.posthog.com) | Cookieless analytics collection and storage |
| GitHub Pages (and related CDNs) | Hosting and delivery of the static Site and catalog pack |
| Google Fonts (fonts.googleapis.com / fonts.gstatic.com) | Font delivery (your browser requests fonts from Google) |
| Hugging Face (and CDNs such as jsDelivr where used) | Embedding model download for the playground |
These parties process technical data as independent controllers or processors under their own terms. Some may be located outside the EU/EEA (including the United States). Where transfers occur, they rely on the safeguards those providers publish (e.g. Standard Contractual Clauses / provider GDPR terms). Details change over time; check each provider’s current documentation.
9. Children
The Site and CLI are aimed at developers and technical users. They are not directed at children under 16. We do not knowingly collect personal data from children under that age. If you believe a child provided data via the playground or analytics, contact the controller to request deletion.
10. Your rights (GDPR / Italy)
You may request:
- access to personal data we hold about you;
- rectification of inaccurate data;
- erasure (“right to be forgotten”), where applicable;
- restriction of processing;
- objection to processing based on legitimate interest;
- withdrawal of consent for playground telemetry (stop using the playground) or CLI telemetry (git-grasp telemetry off); ask us to delete retained events where identifiable;
- complaint to the Italian Data Protection Authority (Garante per la protezione dei dati personali).
Because analytics are largely cookieless and we do not run accounts, we may need enough information from you (time window, rough IP/region, pages used, playground queries you remember) to locate events. We will respond within the time limits required by law.
11. Retention and deletion
- PostHog page/analytics events: retained for up to 1 year (PostHog Cloud free-tier retention), then deleted or aggregated so they no longer identify a visit, unless a longer period is required for security or legal claims.
- Playground / CLI telemetry events: same analytics store / retention as above.
- localStorage skillLevel: until you clear it.
- CLI local files: under your control on your machine; not retained by the controller.
To request deletion of analytics/playground events that can be linked to you, email the controller (git-grasp privacy) and describe the relevant period and activity.
12. International transfers
Hosting, fonts, analytics, and model downloads may involve servers outside the EU/EEA. See §8. If you want to minimise transfers, use the CLI offline after local install and avoid the Site playground and third-party font/model requests.
13. Changes
We may update this notice when the product or providers change. The “Last updated” date at the top will change. Material changes may also be noted on the Site (for example in the footer or on this page). Continued use of the Site after an update means the new notice applies to subsequent use. For playground telemetry based on consent, continued use of the playground after a material change to that section constitutes renewed consent only for future events.
14. Contact
Questions or rights requests: Edoardo Cremaschi, email edoardo (dot) cremaschi (at) gmail (dot) com, subject git-grasp privacy.