|
| 1 | +# Meri Asmita: Survivor-Security Platform Roadmap |
| 2 | + |
| 3 | +Status: draft for review |
| 4 | +Owner: Saquib |
| 5 | +Last updated: 2026-08-02 |
| 6 | + |
| 7 | +## The shift |
| 8 | + |
| 9 | +Meri Asmita moves from a takedown service to a single, trauma-informed response centre. A survivor should be able to understand what is happening, preserve evidence, reduce further spread, submit and track removals, escalate, secure their accounts and devices, and reach legal, psychological, and practical support. |
| 10 | + |
| 11 | +The organising promise is not "we can prove whether an image is AI-generated." It is: |
| 12 | + |
| 13 | +> We help you regain control, by preserving evidence, reducing distribution, securing your accounts, pursuing removals, and connecting you with the right support. |
| 14 | +
|
| 15 | +**Deepfake detection is a supporting feature, never a gate.** Real NCII, face swaps, nudify images, mislabeled images, and threats to publish all get the same help. Whether an image is authentic, altered, or generated never decides whether we assist. |
| 16 | + |
| 17 | +## Where we already are |
| 18 | + |
| 19 | +The current codebase covers a meaningful slice of Phase 1 already: |
| 20 | + |
| 21 | +- URL takedown, notice generation and dispatch (`notice-*.ts`, `case-ops.ts`). |
| 22 | +- Client-side PDQ hash submission (`hash-submission.ts`, `hash-dispatch.ts`). |
| 23 | +- POCSO / minor routing (`/minor-support`), keeping minors out of the adult case flow. |
| 24 | +- Admin dispatch with human contact verification and legal review gates. |
| 25 | +- English and Hindi throughout, OTP login, audit log, rate limiting, CSRF. |
| 26 | +- Client-side content-credential reader (`/check-image`, `ai-provenance.ts`), the first step of the authenticity feature. |
| 27 | + |
| 28 | +So this roadmap is mostly about adding the response-centre layer around a working takedown engine, not starting over. |
| 29 | + |
| 30 | +## The charter decision that governs everything |
| 31 | + |
| 32 | +Moving to an evidence vault, server-side detection, and monitoring breaks the original "no media, ever" rule. We have decided to change it to "media only under strict, consented, encrypted, time-limited conditions." That decision is written up in `docs/adr/002-consented-encrypted-media.md` and is **blocked on legal sign-off**. |
| 33 | + |
| 34 | +Practical consequence: everything in this roadmap that stores or server-processes media is designed now but does not ship until counsel and a security review clear ADR 002. Features that do not touch media can proceed in parallel. |
| 35 | + |
| 36 | +## Product structure |
| 37 | + |
| 38 | +Five areas, matching how a survivor thinks, not how the backend is organised: |
| 39 | + |
| 40 | +1. **Get Help Now** — triage for published content, threats, sextortion, deepfakes, impersonation, account compromise. |
| 41 | +2. **My Case** — status, URLs, reports, deadlines, messages. |
| 42 | +3. **Protect My Accounts** — account, device, privacy, impersonation checks. |
| 43 | +4. **Preserve Evidence** — secure evidence log and downloadable reports. |
| 44 | +5. **Support and Recovery** — legal aid, counselling, safety planning, resources. |
| 45 | + |
| 46 | +## Roadmap |
| 47 | + |
| 48 | +Each feature lists what it is, what it maps to in the code, and its main gate or risk. "Gate" means something that must be true before it ships. |
| 49 | + |
| 50 | +### Phase 1: Survivor response MVP |
| 51 | + |
| 52 | +Goal: turn the takedown form into a response centre. Most of this touches no media, so it can move without waiting on ADR 002. |
| 53 | + |
| 54 | +| # | Feature | Maps to / build | Gate | |
| 55 | +|---|---|---|---| |
| 56 | +| 1 | Guided "Get Help Now" triage | New `(public)` flow feeding case creation; decision tree, not a long form | None. Ships first. | |
| 57 | +| 2 | Safe access + Quick Exit | New global component: Quick Exit button, double-Escape, neutral tab title/favicon, session timeout, `noindex` on dashboards, no sensitive text in emails/notifications | None. Safety-critical, build early. | |
| 58 | +| 3 | Anonymous / pseudonymous case creation | Extend case model + auth: random case ID, password/passkey, optional contact, recovery code, three modes (self-help / anonymous assisted / verified legal) | Review data model against DPDP minimisation. | |
| 59 | +| 4 | Case dashboard | Extend `(victim)` dashboard into a clear timeline with per-URL status, references, escalation deadlines, no vague "processing" | None. | |
| 60 | +| 5 | URL + evidence collection (text only) | Extend URL intake to capture usernames, timestamps, threat text, payment demands as text/hashes. No image storage in Phase 1. | Keep to text + hashes to stay inside current charter. | |
| 61 | +| 6 | Platform-specific report generator | Extend notice generation with a maintained platform directory (reporting route, NCII policy, deepfake policy, India grievance officer, timelines, last-verified date) | Human contact verification stays required. | |
| 62 | +| 7 | Google / Bing de-index assistance | New notice type; treat de-indexing as separate from source removal | None. | |
| 63 | +| 8 | India NCRP / Grievance Officer / GAC pathways | New India NCII Action Centre flow; version-controlled deadline rules engine | Deadlines (2-hour vs 24-hour) reviewed by counsel before stated as fact. | |
| 64 | +| 9 | StopNCII + Take It Down routing | Guided handoff, not a rebuild: adults to StopNCII, under-18 to Take It Down | Correct minor routing, tested. | |
| 65 | +| 10 | Secure caseworker messaging | New secure inbox; role-based access; permissioned case summary so survivor never re-tells their story | Role-based access model reviewed. | |
| 66 | +| 11 | English + Hindi | Existing i18n | None. | |
| 67 | +| 12 | Explicit retention + deletion controls | Case withdrawal, delete, retention clock surfaced to survivor | Foundation for ADR 002. | |
| 68 | + |
| 69 | +### Phase 2: Security and support |
| 70 | + |
| 71 | +Goal: the "regain control" layer. Several items here store media and are gated on ADR 002. |
| 72 | + |
| 73 | +| # | Feature | Maps to / build | Gate | |
| 74 | +|---|---|---|---| |
| 75 | +| 7v | Encrypted evidence vault | Encrypted, time-limited object store; SHA-256, access log, redacted copy, downloadable evidence/legal packets | **ADR 002 + security review.** Minors hard-excluded. | |
| 76 | +| 12 | Account Security Checkup | Platform-specific checklists; asks first whether abuser has device access | None (content pages). | |
| 77 | +| 13 | Stalkerware / device safety assessment | Questionnaire + safer-options guidance; does not tell everyone to uninstall | Follow Coalition Against Stalkerware guidance. | |
| 78 | +| 11 | Sextortion emergency mode | Prominent "I am being blackmailed" path; urgent info first, do-not-pay guidance | None. High priority within Phase 2. | |
| 79 | +| 17/18 | Support directory + mental-health/grounding | Verified directory (One Stop Centres, DLSAs, cybercrime units, counselling, LGBTQ+, disability, child protection); grounding exercises and referral | Listings vetted, last-verified dates. | |
| 80 | +| 19 | "Help someone else" mode | Authorised-representative accounts with survivor-controlled, revocable permissions | Consent model; aligns with MeitY SOP representative provision. | |
| 81 | +| 20 | More Indian languages + low-bandwidth | Bengali, Urdu, Tamil, Telugu, Marathi, Malayalam; text-first, save-and-resume, screen-reader, code-mixed | Translation review. | |
| 82 | + |
| 83 | +### Phase 3: Proactive protection |
| 84 | + |
| 85 | +Goal: after partnerships and governance. Highest risk, most governance. |
| 86 | + |
| 87 | +| # | Feature | Maps to / build | Gate | |
| 88 | +|---|---|---|---| |
| 89 | +| 9 | StopNCII NGO / Global Clearing Centre participation | Partnership application; only run our own hash bank once we have authorised recipients | Partnership + legal. | |
| 90 | +| 10 | Resurfacing / exposure monitoring | Opt-in, survivor-controlled searches (hashes, name, known URLs, impersonation) | Consent + governance. | |
| 91 | +| 15 | Content-authenticity assessment (deepfake detection) | The `/check-image` reader plus optional server-side detector (our own model on Cloudflare Containers, in-memory, discarded). Strengthens reports, never gates help. Shows "likely," never "97% fake." | **ADR 002.** Framed as non-conclusive. | |
| 92 | +| 8 | Evidence-capture extension / bookmarklet | Captures pages the survivor already views; blurs explicit content; no covert surveillance | Security + abuse review. | |
| 93 | +| face/voice | Opt-in face / impersonation search | Separate explicit consent; encrypted biometric templates; human review of candidates, no auto-accusation; deletion controls | Consent design, legal review, accuracy testing, deletion controls. Do not launch without these. | |
| 94 | + |
| 95 | +## Internal tools (build alongside the phases they serve) |
| 96 | + |
| 97 | +- **Caseworker console**: risk level, survivor's requested outcome, URLs, deadline clock, actions, evidence refs, consent permissions, history, reappearance alerts. |
| 98 | +- **Reviewer-wellbeing protections**: blurred thumbnails by default, text-only where possible, click-and-hold to reveal, no autoplay, limited viewing time, access logging, two-person review for sensitive decisions. |
| 99 | +- **Audit and accountability**: who accessed each object and why, what was sent, which template and legal version, survivor authorisation, deletion events, detector version. Extends the existing audit log. |
| 100 | + |
| 101 | +## What we are deliberately not building |
| 102 | + |
| 103 | +- No public "upload and identify NCII" scanner. It becomes an abuse tool. |
| 104 | +- No private CSAM database. Minor cases go to authorised child-protection systems. |
| 105 | +- No promise of whole-internet removal. We state exactly which platforms, URLs, and search results were addressed. |
| 106 | +- No AI detection as a gatekeeper. |
| 107 | +- No broad face recognition without the full governance package. |
| 108 | +- No indefinite retention of intimate media. |
| 109 | + |
| 110 | +## Immediate next actions |
| 111 | + |
| 112 | +1. **Stop the Cloudflare deepfake-detection container work.** It is a Phase 3 supporting feature, not the centre. The client-side reader already shipped is enough until then. |
| 113 | +2. **Start counsel review of ADR 002.** Everything media-related in Phase 2 and 3 waits on it, so the clock should start now. |
| 114 | +3. **Build Phase 1, items 1 and 2 first** (triage front door + safe access / Quick Exit). They are low-risk, touch no media, and reframe the entire app immediately. |
| 115 | +4. Keep the existing "no media, ever" lint tests and no-fetch monitor in force for the takedown and notice pipelines. The new media paths are separate and get their own tests. |
| 116 | + |
| 117 | +## Sources |
| 118 | + |
| 119 | +Design references: StopNCII, Take It Down (NCMEC), eSafety Commissioner (AU), Revenge Porn Helpline (UK), CCRI Safety Center, Chayn/Bloom, NNEDV Safety Net, Coalition Against Stalkerware, Lila.help, MeitY NCII SOP, I4C/NCRP. Full links in the source brief that seeded this roadmap. |
0 commit comments