NanoTarget trust
Full privacy docs
Trust & privacy

Where your data is, at every step.

NanoTarget runs inside your own server. The decision about what an AI agent may see is made next to your data and never leaves it. This page is for the security and legal reviewer: what stays, what leaves when you choose to send it, and what is never collected — by construction, not by policy.

Stays on your server

  • Every decision, with its evidence and reasons
  • The hash-chained audit log
  • The signed proof of each decision, and the private key that signs it
  • Session records and their agent/human state
  • Passkey credentials your users register
  • Your policy file and your mask functions

Leaves only if you add an API key

  • A one-way digest of the session id (never the id)
  • Resource name, decision, actor, session state
  • Detected agent product names and reason codes
  • Enforcement mode and engine version
  • The signed proof — the same fields, signed
  • Nothing else. Remove the key and nothing leaves.

Never collected, anywhere

  • Request or response payloads
  • What the person typed — no keys, no characters, no form values
  • Page text or the content of what was displayed
  • Names, e-mails, account numbers, customer identities
  • IP addresses in reports
  • Cross-site identifiers or tracking fingerprints

The page script measures how the session behaves — timing, movement geometry, known agent-tool traces — not what it contains. It is served from your origin and posts only to your origin.

The path of one decision

BrowserThe page script sends behavioural metadata to your server. Data already on screen is redacted the instant an agent appears.
→ your origin only
Your serverThe engine decides allow · mask · step up · block, writes the audit row, signs the proof. Your handler returns full or masked data.
→ opt-in, metadata
NanoTarget portalWith an API key, a report of the decision (fields above) arrives in the background, batched, off the request path. It never blocks your response.

Questions a reviewer asks

Where does NanoTarget run?
As a library inside your Node process. Storage is your SQLite file or your libSQL database. There is no NanoTarget component in the request path other than your own server.
Can we run it fully disconnected?
Yes. Without an API key no network call is ever made. Detection, policy, audit, proofs and passkey reclaim all work offline. Agent signature updates then arrive with package updates.
What is in the portal, and where is it hosted?
Aggregates and the decision log built from the metadata above, per API key, for your account only. The portal is hosted on Vercel with a Turso (libSQL) database. Sub-processors: Vercel, Turso. No advertising or analytics processors.
How long is telemetry kept?
Until you revoke and delete the API key, which removes its reported decisions. Revoked keys can be deleted at any time from the portal.
Can our auditor verify a decision without trusting you?
Yes. Every decision is signed on your server with a key derived from your secret. The public key is served from your own site; the proof verifies with any standard JOSE library or npx nanotarget verify-proof. NanoTarget the company is not in that loop.
Does the page script affect our users?
It is first-party, adds no third-party requests, sets one first-party cookie for the session, and changes nothing a person sees — except redacting sensitive fields the moment an agent attaches, which is the point.
Is behavioural data biometric?
NanoTarget does not identify people and keeps no per-person template. It answers one question per session — is an agent operating it — from evidence of the session, and discards the raw movement stream. Nothing can be matched across users or across sites.
Security contact
Report vulnerabilities per SECURITY.md. Acknowledgement within 72 hours; a fix or mitigation plan within 14 days for confirmed issues.
Need a DPA, a sub-processor list on letterhead, or a security questionnaire filled in? Write to the address in SECURITY.md — that is the founders' inbox.