Doctrine

The rules we build by.

Seven red lines, eight commitments and a few rules of language. They are product requirements, not marketing. A feature that breaks one of them does not ship.

Source of record: docs/company/DOCTRINE.md in our repository. Changes are reviewed like code. The doctrine text below is quoted in full; the "In practice" notes are ours.

Trinetra builds situational-awareness and safety software for India's frontiers: rivers, land borders, coasts, and the low-altitude airspace above them.We help the people who work there see conditions early, respond safely, and account for what they did.

Seven things we will not do, whoever asks.

Enforcement status, 21 October 2026

Where a note below names a Sakshi rule (RL-1, TP-1), the rule is written in our access policy and tested; wiring it into every product is in build. The policy is published at Trust and security.

01

Events, not people.

We analyse incidents, seizures, places, routes, conditions, and organisations. We do not build profiles, dossiers, or risk scores of individual people.

In practice
  • The console's views are events, places, routes and organisations. Person profiles and person risk scores from its first prototype are being removed.
  • Darpan and Shyena count seizures and drone incidents by month, district, category and payload, never by person.
02

No identity targeting.

Nothing we build selects, scores, or filters people by religion, caste, ethnicity, language, or nationality of origin.

In practice
  • No product has a field, filter or column for religion, caste or ethnicity.
  • Sakshi's protected-attribute firewall (RL-4) rejects filters and free-text requests that select by religion, caste, ethnicity, language, surname or origin, and records each refusal.
03

Private individuals are redacted.

Names of private persons that appear in public records (accused, petitioners, witnesses, victims) are replaced with role labels in every analytic view. Public officials acting in an official capacity may be named, never scored.

In practice
  • Identifiable personal data of private persons is a data class the access policy always denies (RL-1). There is no override.
  • Redacted records about people do not leave the deploying organisation through the platform (RL-2), and searching them needs a second approver (TP-1).
  • Public exports are scanned for names, phone numbers and ID-like numbers before release.
04

No private communications.

We do not ingest private messaging groups, intercepted communications, or scraped personal social-media accounts.

In practice
  • Our sources are official releases, published court records, news, and public weather, river and satellite data, plus the sensors a customer owns.
05

No citizenship adjudication tooling.

We do not build tools that rank, prioritise, or predict outcomes for people facing Foreigners Tribunals, NRC processes, or deportation.

In practice
  • No product ingests Foreigners Tribunal or NRC case files, and none ranks, prioritises or predicts an outcome for any person. Why this line exists.
06

Defensive by design.

Counter-drone and sensor products detect, track, classify, alert, and support lawful, non-kinetic responses. We do not publish weapon-targeting guidance.

In practice
  • Shyena's playbook is detect, classify, alert, lawful non-kinetic options, and evidence. Jammers need government permission in India; we do not make or sell them (Cabinet Secretariat, Dec 2025).
  • Sangam fuses tracks for awareness and alerting. It does not compute firing solutions.
07

Safety first.

Any forecast or advisory that can affect a life (flood, heat, sea state, river crossing) states its source, its time, its uncertainty, and that it is advisory.

In practice
  • Every public advisory ends: "Advisory only. Follow official warnings from IMD, CWC, INCOIS, and local authorities," with the agencies adapted to the hazard.
  • Matsya's boundary check says "For awareness only. Not for navigation." and runs on the phone, so no position is sent anywhere.

Eight things we always do.

01

Every number has a source and a timestamp.

Real data cites its origin and retrieval time. Simulated data is labelled Simulated in the UI and "simulated": true in JSON.

In practice
  • Each product writes a manifest with its sources, licences and retrieval times. Every data panel shows its source and its time, in IST.
02

Tamper-evident audit.

Operator actions are written to a hash-chained audit log that anyone with access can verify (Sakshi).

In practice
  • Each entry is hashed with SHA-256 over canonical JSON (RFC 8785) and linked to the one before. Every 16 entries a Merkle checkpoint (RFC 6962) is written; publishing those roots lets anyone detect a rewrite. The chain is kept three years.
03

Purpose binding.

Sensitive queries carry a declared purpose; policy decides what each purpose may see.

In practice
  • Six purposes: disaster response, interdiction operations, search and rescue, training, oversight and audit, public research. Operational purposes need a ticket, such as an incident ID or FIR reference, that expires.
04

Retention limits.

Data has a retention period; expiry is enforced, not promised.

In practice
  • Sensor tracks 90 days, redacted records about people one year, simulated data 30 days, public documents two years. Full schedule.
05

Human in the loop.

Software recommends; trained people decide. No automated adverse action against any person.

In practice
  • Person-level searches and copies of sensor tracks need a second, independent approver (TP-1, TP-2). Approvals are single-use and expire after 24 hours.
06

Sovereign deployment.

Products run on-premise or air-gapped on Indian soil; no foreign cloud dependency is required for operation.

In practice
  • The stack is static web pages and Python pipelines. It runs on a unit's own servers with no internet link if needed.
07

Dual use, public good.

Where the same capability protects civilians (flood warning, heat advisories, fishermen's boundary awareness), we publish a free public version.

In practice
  • The safety hub and Darpan are free, need no account, set no cookies and run no analytics.
08

Publish the method.

Each product ships a methods note: data, assumptions, limits, known failure modes.

In practice
  • Methods notes are listed in the documentation as each product passes review.
Language
  • Frame the mission as safety, interdiction of smuggling and trafficking, and disaster resilience. Never as action against a community.
  • Copy is plain and concrete. No em dashes. No hype words. Numbers over adjectives.
Why these lines

Surveillance tools fail people quietly. In September 2026 the Internet Freedom Foundation reported that Delhi Police's facial recognition flagged 2,873 people at protests at Jantar Mantar, using an 80% match threshold, against a database with no disclosed statutory basis or retention limit. An Indian Express check cited by IFF found at least 25 of 205 sampled people were in jail when the software placed them at the protest (IFF, 4 Sep 2026).

Citizenship cases are where errors cost most. In July 2026 the Supreme Court set aside a batch of ex parte Foreigners Tribunal opinions, holding that the burden of proof "does not convert the absence of the proceedee into proof of the allegation" (Sabitri Dey v. Union of India, 13 Jul 2026). Software that ranks such cases would add speed to a process the courts are asking to slow down and check.

The legal test is already set. Any intrusion on privacy must pass legality, a legitimate aim, proportionality and procedural safeguards (Puttaswamy, 2017). Purpose binding, two-person approval and the audit chain are how our software helps a user show the last two.

Oversight by design, the long version

Raise a concern

If you see Trinetra software, data or staff crossing one of these lines, write to oversight@trinetra.in. You do not need to give your name. We reply within five working days and publish a summary of every concern and what we did about it in our transparency report.