Skip to content
Detent

Privacy

What Detent does with data

Short and literal. Every line below was checked against the code, not written from a template.

No cookies, no analytics

Checked by searching app/, components/ and lib/ for a cookie or analytics library. Nothing was found.

Detent sets no cookie and loads no analytics, tracking pixel or third party script. There is no document.cookie write anywhere in the app, and no analytics package is a dependency in package.json.

What your browser stores

One key, written by the theme library this app uses.

localStorage key
theme
Value
light, dark or system, whichever you last chose in the theme toggle.
Who reads it
Only your browser. next-themes writes and reads this key locally and sends it nowhere.

What the server keeps, and for how long

Everything below lives in the memory of one running server process. Nothing here is a database, and nothing here survives a restart.

Rate limiting
The client address the request arrived with (from a proxy header, or unknown if there is none), kept only to count requests against a one minute window, up to 2,000 distinct addresses tracked before the oldest is dropped. It is never written to disk and never appears in a log line.
The lock record
The compiled policy, the approved calldata and the two approving officer ids for a plan in progress, held for up to fifteen minutes or until the plan is sent, whichever comes first.
The submission ledger
A completed send's result, kept for thirty minutes so a retry returns the same answer instead of sending twice, up to 500 entries.

What is logged

Operational lines only: what happened, not who asked.

The server logs one line per meaningful step: a plan hash, a policy id, a lock id, an error code and an HTTP status. It does not log the client address that rate limiting uses, and it does not log request bodies. The host this app runs on, like any web host, keeps its own request logs for operating the service; that logging is the platform's, not this application's code.

Back to the console

Back to the console