What leaves
your machine
Almost nothing. Novi reads your coding sessions and git history on your own computer and keeps them there. The only thing a server ever stores is the redacted day you share with a friend circle.
On your computer
Novi reads the session logs your AI coding agents already write, plus your git history, and keeps its database in ~/.novibenolife. There is no account, no telemetry and no analytics — in the apps or on this website, which loads no trackers and serves its own fonts.
When you share with a friend circle
Joining or starting a circle, you choose to share automatically (the default — your day reaches the circle as you work) or by hand (only when you run novi publish or press Share my day). Either way, the same redacted day goes out:
- the name you appear under in that circle, and the date
- per project: shipped, started or in progress; the repository name and its normalized remote (e.g.
github.com/you/app); one title — a commit subject or session title; short commit hashes; a line like “4 commits (+120/-8)” or “2h05 across 3 sessions” - the day's totals: sessions, active minutes, commits, lines added and removed, repository names
Never: prompts, code, diffs, file paths or names, token counts, model names. Every share passes a secret-redaction gate first, and novi privacy audit lists each one that left.
Where a circle lives
Hosted circles — the default — run on a Cloudflare Worker with a Cloudflare D1 database operated by the maintainer. Only members of a circle can read its days. A circle can instead live in a git repository you choose, or in your own Supabase project; then that is where the days are stored.
Your hosted identity is a random device token: the server keeps only its SHA-256 hash and a random id — no email, no name beyond the handle you pick. Cloudflare sees your IP address to route requests; the Worker uses it only to limit how fast new identities can be created, and does not store it. Its logs hold the request method, the route, the status and the duration — never query strings, tokens or bodies. Live updates tell an open app only that a circle's feed changed; the app then fetches it.
Taking it back
A shared day stays in the circle until you remove it: novi friends takeback (or Take today back in the app) deletes it and stops auto-share from sending that day again. novi friends leave <circle> deletes every day you shared there and your membership. novi friends auto <circle> off switches back to sharing by hand; novi friends pause <circle> stops all sharing. A git circle keeps its history in git — removal takes a day off the feed, not out of the repository's past.
Everything else
AI résumé is off by default. Turned on, the provider you choose receives redacted project names, session titles, commit subjects and coarse counts — never prompts, paths, file names, code, models or token usage. Reports and messages go to Discord, Slack, Telegram or email only when you configure that channel and send. The phone app talks to your own computer over your local network, with a pairing key that never leaves the two devices.