What Trinetra collects, what it never collects, and how to check us.
This report is generated by SAKSHI, our oversight product, from the platform's own records: the access policy, a scan of every public data file for personal information, the retention schedule and a hash-chained ledger. Every figure names its source file and its time, and the ledger can be verified by anyone.
Six classes of data, each with a fixed retention period. Every request to read them names a role, a declared purpose and, for operational purposes, a case, incident or audit reference that expires.
| Class | What it is | Kept for |
|---|---|---|
| Loading… | ||
- Loading…
Loading the latest scan…
Loading the latest check…
| Data | Kept for | Then |
|---|---|---|
| Loading… | ||
Expired records are deleted unless a court order or open inquiry places a legal hold. Each purge writes a receipt to the audit ledger with a Merkle root over the deleted record ids, never their contents. Personal data is erased once its purpose is served, as section 8(7) of the Digital Personal Data Protection Act, 2023 requires.
SAKSHI keeps a ledger in which every entry holds the SHA-256 hash of the one before, with a Merkle checkpoint every 8 entries. Each pipeline run records its personal-data scan, the product cards and a seal over every public data file. Change any entry and the chain breaks. Rewrite all of it and the checkpoint roots below stop matching.
Loading the latest anchor…
Or check it here. Both checks run in your browser with its own SHA-256; nothing is sent anywhere.
- Save the anchor above, or download anchors.json. A copy you keep is what makes a later rewrite visible.
- Download the ledger, ledger.jsonl, and the seal of every public file, seal.json.
- Verify with our open code, from a copy of the repository:
cd pipeline python3 -m trinetra.sakshi verify ledger.jsonl --anchors anchors.json
Exit code 0 means every hash, link and checkpoint checks out and the anchors match. - Hash any public data file yourself and compare it with its line in seal.json. The seal root is recorded in the ledger.
Each product publishes a manifest of its sources, licences and whether its data is real or simulated. SAKSHI turns these into model and data cards and checks them against our data contract.
| Product | Data | Checks passed |
|---|---|---|
| Loading… | ||
- Events, not people: no profiles, dossiers or risk scores of individuals.
- No selecting, filtering or scoring people by religion, caste, ethnicity, language or nationality of origin.
- Names of private persons in public records are replaced with role labels; officials may be named, never scored.
- No private messages, intercepted communications or personal social media.
- No tooling for citizenship adjudication: Foreigners Tribunals, NRC or deportation.
- Defensive by design: detect, track, classify, alert and support lawful, non-kinetic responses.
- Any forecast that can affect a life states its source, time, uncertainty, and that it is advisory.
Full text and how each rule is enforced: doctrine.
Write to the right desk. You do not need to give your name to raise an oversight concern.
- The scan finds patterns: phone, Aadhaar-like and PAN numbers, email addresses, person records not marked official or redacted, and names that follow S/o, D/o or W/o. It cannot read images or PDFs, and a name in free text is caught only if it also appears as a person record.
- The ledger proves what SAKSHI recorded, not that everything was recorded. Checking that every product writes its actions to the chain is part of our review before each release.
- Parts of the platform are simulated for demonstration and are labelled Simulated wherever they appear, including in the product table above.
- The forecast check compares forecasts with airports up to 100 km from the places they stand in for, over one season at a time. It measures the forecasts; it does not correct them, and the advisories remain advisory.