·5 min read
Make “private” a document, not a slogan
Every Vector 5 site publishes a machine-readable collection manifest: what is stored, how uniques are counted, and which questions the system cannot answer. Auditors and agents can fetch it.
PrivacyManifest

Most analytics products ask you to trust a marketing page. Vector 5 publishes the claim next to the numbers. Each site exposes GET /api/sites/{domain}/manifest — fields collected, fields never stored, the visitor-hash recipe, the actor model, and a cannot-know list. If the dashboard and the manifest ever disagree, the manifest is wrong and we want to hear about it.
{
"cookies": false,
"fingerprints": false,
"stored_ip": false,
"visitor": "sha256(daily_salt || site_id || ip || ua)",
"salt_rotates": "00:00 UTC per site"
}What the document is for
- Counsel can attach it to a DPIA instead of paraphrasing a vendor FAQ.
- Users can fetch it without creating an account.
- Your own agents can read the same contract the UI shows, via the MCP server.
The hash itself is unrecoverable and rotates at midnight UTC. After it is computed, the IP is dropped. A visitor who returns tomorrow is counted as new on purpose: daily uniques without a cross-day identity, even for the operator.
If a privacy claim cannot be fetched as JSON, it is a slogan.

