what we store, and what we don't
Data & Trust
A plain account of what nittim stores, how long it keeps it, and how to make it go away.A plain account of what nittim keeps, how long we keep it, and how to make it go away.What nittim stores, how long, and how to delete it.
How little you can give us
You shouldn't have to decide whether to trust nittim before you get anything out of it. Start at the top. Move down when you want to — not to get started.You shouldn't have to decide whether to trust nittim before you get anything useful from it. Start at the top of the list below. Move further down it whenever you're ready — you don't have to, to get started.Start at the top rung. Move down whenever you want — never to get started.
Your assistant, our rubric
Our report library
Your repo, free scan
AI audit on your own key
AI audit, on our key
Your own infrastructure
On requestWhat we store — and what we don't
Audit report
StoredSource code
Not storedUploaded zip — only if you ask
Held brieflyGitHub tokens
Not storedRequest logs containing code
Not storedDoes an AI train on your code? No.
Read-only by construction
Retention schedule
Deleting a report
When we get one wrong
Shareable links
Organization access
Infrastructure
Where your bytes can live
Supabase Postgres (us-east-1)
Supabase Storage — upload-source bucket
Vercel function logs
Anthropic API
AI audit onlyOSV (the public vulnerability database)
GitHub
Over MCP, nittim pulls nothing: only the files your assistant posts arrive, and the server cannot ask for more. Where they land is the same server and the same 6 places as every other path — MCP changes the doorway, not the map.Over MCP (the connector your AI assistant uses to reach tools), nittim asks for nothing extra: only the files your assistant sends arrive, and the server can't ask for more. They land in the same 6 places as every other path — MCP only changes the way in, not where things end up.Over MCP, nittim pulls nothing: only the files your assistant posts arrive, and the server cannot ask for more. Where they land is the same server and the same 6 places as every other path — MCP changes the doorway, not the map.
This list narrows where a copy could be. It cannot prove our code never writes to one of these places — only an independent review of the code path, or running both halves inside your own cloud, can close that. We'd rather say so than let the table imply more than it shows.This list narrows down where a copy could be. It can't prove our code never writes to one of these places — only an independent review of the code itself, or running both halves inside your own cloud, can close that gap. We'd rather say so plainly than let this list imply more certainty than it actually has.This list narrows where a copy could be. It cannot prove our code never writes to one of these places — only an independent review of the code path, or running both halves inside your own cloud, can close that. We'd rather say so than let the table imply more than it shows.
What the audit digest contains
Only the AI tiers send anything to a model. This is what that send contains.Only the AI checks send anything to a model at all. This is exactly what goes.Only the AI tiers send to a model. This is what goes.
- Audit · File count500
- Full Audit · File count2000
- Audit · Per-file size200 KB
- Full Audit · Per-file size4 MB
- Both · Lockfile size4 MB
- Audit · Total size5 MB
- Full Audit · Total size20 MB
- Audit · Per-file characters16K characters
- Full Audit · Per-file characters200K characters
A Full Audit is sold on reading every eligible file, so the numbers per window above are not a total: it fetches one window, then the next, until every eligible file in the repository has been read. What travels over a whole Full Audit is your repository's own eligible source — the file kinds listed above, at the per-file caps above — and nothing else.A Full Audit is sold as reading everything, so the per-window numbers above are not a total: it reads one window, then the next, until it has been through every eligible file in your repository. Over a whole Full Audit, what travels is your repository's own eligible source — the kinds of file listed above, at the per-file limits above — and nothing else.A Full Audit is sold on reading every eligible file, so the numbers per window above are not a total: it fetches one window, then the next, until every eligible file in the repository has been read. What travels over a whole Full Audit is your repository's own eligible source — the file kinds listed above, at the per-file caps above — and nothing else.
Nothing is stripped. Comments, strings and secrets-looking text travel exactly as they are written in the file — the only changes are the cut at the per-file cap above, and the file markers around each body being escaped so a file cannot forge one. Images, fonts, binaries, vendored dependencies and generated bundles never travel at all.Nothing is stripped out on the way. Comments, text inside your code, and anything that looks like a password travel exactly as written — the only changes are the cut at the per-file limit above, and escaping the markers around each file so one file can't pretend to be another. Images, fonts, program binaries, third-party packages checked into your project and generated bundles never travel at all.Nothing is stripped. Comments, strings and secrets-looking text travel exactly as they are written in the file — the only changes are the cut at the per-file cap above, and the file markers around each body being escaped so a file cannot forge one. Images, fonts, binaries, vendored dependencies and generated bundles never travel at all.
Every column on a report row
A report is one row. These are its columns, and what each kind of column is about.Your report is stored as a single row in our database. These are all of its columns, grouped by what each one is about.A report is one row. Every column, by what it holds.
Can hold your code
Outcome
Identity
Operational
3 columns can hold text from your repository: the report itself, because every finding carries the lines it points at, and the two working-state columns a multi-pass or batch audit writes as it goes and clears the moment it finishes. Every other column is an id, a verdict, or machinery.3 columns can hold text from your project: the report itself, because every problem it reports comes with the lines it points at, and the two columns an AI audit uses for its own working notes — written as it goes, and cleared the moment it finishes. Every other column is an id, a verdict, or machinery.3 columns can hold text from your repository: the report itself, because every finding carries the lines it points at, and the two working-state columns a multi-pass or batch audit writes as it goes and clears the moment it finishes. Every other column is an id, a verdict, or machinery.
If your data is ever breached
If nittim confirms a security breach that touches your data, we notify you within 72 hours of confirming it — every account, on every tier, whether you pay us or have only ever run a free scan. The notice says what we know, what it touched, and what we are doing about it, and it goes out before we have all the answers rather than after.If nittim confirms a security breach that involves your data, we tell you within 72 hours of confirming it — every account, on every plan, whether you pay us or have only ever run a free scan. The message says what we know so far, what it touched, and what we're doing about it. We send it before we have every answer, not after.A confirmed breach touching your data reaches you within 72 hours of confirmation — every account, every tier, paid or free. What we know, what it touched, what we're doing. Sent before we have every answer.
Found a security issue?
Found a vulnerability instead of a data question? See the disclosure policy — scope, safe harbor, and how to report it.Found a security bug instead of just a question about your data? See the disclosure policy — what's in scope, our promise not to come after good-faith researchers, and how to report it.Found a vulnerability instead of a data question? See the disclosure policy — scope, safe harbor, and how to report it.
See the disclosure policy →How accurate is nittim?
Trust shouldn't be taken on faith. We publish our accuracy methodology and results in the open.Trust shouldn't be taken on faith. We publish how we tested our own accuracy, and the results, out in the open.We publish our accuracy method and results — trust isn't assumed.
On a Full Audit, some findings get a second, independent read. The ones confirmed both times are listed first; ones caught once are listed after — still worth a look, just weighed less.On a Full Audit, we sometimes check a finding a second time. What holds up twice is shown first; what showed up only once is listed after — still worth looking at, just less certain.Full Audit: findings confirmed twice list first; seen-once findings follow.
See the benchmark →Have questions?
Ask anything about what we keep, where it goes, or how to give us less. A person reads every message.