Sindh IT Portal — Facilitation DeskSpecification documents
Englishاردوسنڌي
← All documents

Trust & Safety

The authoritative trust-and-safety control catalogue for the Sindh IT Portal — Facilitation Desk (SITP): the principles, intake protections, spam and abuse detection, content moderation, false-complaint handling, staff-protection measures, the confidential whistleblower channel, identity-verification appeals, VIP/confidential handling, reporting and blocking, data integrity, PII handling in user-generated content, takedown and legal requests, trust metrics, and the periodic transparency report.

Field Value
Doc ID 24
Status Draft
Owner S&ITD / MAAHIR
Languages EN (master) · UR · SD
Control ID scheme TS-<nnn> (sequential, stable across EN/UR/SD)
Trace to /specs/en/03-non-functional-reqs/ (SEC/USA/PRIV/AUD) · /specs/en/04-roles-permissions/ §6, §13 (RBAC + ABAC, confidential/VIP) · /specs/en/11-security-compliance/ §5, §10, §14, §15, §16 (rate limits, audit, privacy, retention) · /specs/en/06-ticket-workflow/ (proof-of-resolution gate, appeals) · /specs/en/19-multichannel-intake/ (intake channels) · /specs/en/22-governance-legal/ (legal referral, takedown authority)
Posture baseline Open but safe · protect complainants and departments from abuse and fraud · default-deny on confidential · Sindh RTI Act 2016-aligned · defence in depth with 11-security-compliance

1. How to Read This Document

This document is the single source of truth for trust and safety controls of SITP. It is consumed by engineering (intake hardening, moderation tooling, ABAC scoping), by QA and the abuse-test suite (/specs/en/13-test-strategy/ abuse cases), by the S&ITD Trust & Safety team and Facilitation Desk (moderation workflow), by internal audit (penalty and takedown evidence), and by the PPP contract as the trust-and-safety baseline.

Trust and safety overlaps deliberately with security (/specs/en/11-security-compliance/) and with roles and permissions (/specs/en/04-roles-permissions/). Where they overlap, security defines how the platform resists technical attack (WAF, authn/authz, crypto, audit), roles define who can do what (RBAC + ABAC + overrides), and this document defines how the platform keeps the human discourse on it safe, fair, and lawful — protecting complainants who report in good faith, protecting departments from abuse and fraud, and protecting staff from harassment, while preserving the open, low-friction intake that is the portal's whole purpose.

1.1 Control format

Every control is a row in a per-domain table:

Col Meaning
ID Stable TS-<nnn>, never translated, never renumbered
Control One imperative sentence: what the system shall do
[M|S|C] MoSCoW priority (_conventions.md §5)
Trace NFRs, security controls, and/or other docs this control satisfies

1.2 Domain codes

Domain Coverage
PRIN Trust & safety principles
INTK Intake protections (CAPTCHA, rate limits, bot detection, verification)
SPAM Spam & abuse detection (rules + ML)
MOD Content moderation (queue, roles, actions, appeal)
FALSE False / malicious complaints (detection, penalties, reinstatement)
STAFF Abuse against staff (protection, blocking, escalation)
WB Whistleblower / anonymous confidential channel
IVA Identity-verification appeals
CVIP Confidential / VIP handling (restricted visibility, break-glass)
RPT Reporting & blocking (user reports, account suspension)
INTEG Data integrity (tamper-evidence, proof-of-resolution)
UGC PII & sensitive data in user-generated content
TD Takedown & legal requests
MET Trust metrics
TR Transparency report

1.3 Relationship to security and roles

This document references — and does not restate — the technical controls that already live in /specs/en/11-security-compliance/: rate limiting at the edge (SEC-035), the WAF and OWASP CRS (SEC-034), audit append-only and hash-chained logs (SEC-042 to SEC-044), field-level PII encryption (SEC-021), the ABAC layer for confidential/VIP (SEC-009), break-glass (SEC-011), and retention (§16). Trust-and-safety controls sit on top of that foundation: they decide what counts as abuse, what to do about it, and how to keep the people involved safe.


2. Trust & Safety Principles

SITP is an open, public-facing government grievance portal. Openness and safety are not in tension by default — they are jointly achieved by lowering friction for good-faith complainants while raising cost and risk for bad-faith ones. Nine tenets govern every control in this catalogue.

# Principle How it manifests in SITP
1 Open but safe Anyone may file; only verified identity gates privilege. Good-faith filing is never blocked by an abuse control without a fast human review path.
2 Protect the complainant Whistleblowers, anonymous reporters, and good-faith complainants are shielded from retaliation; their identity is never leaked into the public or department-visible layer.
3 Protect the department Departments are defended from coordinated spam, mass-filing, defamation, and fraudulent complaints; proven false complaints carry consequences.
4 Proportionality The response scales with the harm and the intent. A first clumsy complaint is not treated like a coordinated defamation campaign; warnings precede suspension precede blacklisting.
5 Due process Every adverse action (hide, remove, suspend, blacklist) is appealable, time-boxed, reason-coded, and reviewable by a human. No silent enforcement.
6 Transparency Enforcement is visible to the affected user, auditable internally, and reported in aggregate to the public periodically (§16).
7 Consistency across languages Abuse detection, moderation, and penalties apply identically in English, Urdu, and Sindhi; no language is a safe harbour for abuse.
8 Least exposure Confidential and VIP material is restricted by ABAC; PII in user-generated content is auto-detected and contained; break-glass is the exception, audited, not the rule.
9 Tamper-evidence Every moderation action, penalty, and takedown is recorded in the append-only audit log; the proof-of-resolution gate prevents false closure.

3. Intake Protections

Intake is the portal's front door. It must stay low-friction for genuine complainants while raising the cost of automated and abusive submission. The controls below combine challenges, throttles, and verification at the points most exposed to abuse: login, registration, public ticket filing, anonymous/whistleblower intake, and inbound email/SMS/WhatsApp-to-ticket (see /specs/en/19-multichannel-intake/).

ID Control [M|S|C] Trace
TS-001 A CAPTCHA shall gate every abuse-prone unauthenticated endpoint (public ticket filing, anonymous/whistleblower intake, registration, password reset, login after failures); authenticated low-risk sessions may be challenged adaptively rather than on every action. Must NFR-USA-005, SEC-036
TS-002 The CAPTCHA provider shall be privacy-preserving and pluggable: the default shall be hCaptcha or Cloudflare Turnstile (no behavioural tracking that leaks PII); selection is configurable per environment without code change; a self-hosted fallback (e.g. mCaptcha / Altcha proof-of-work) is available for sovereign-data-strict deployments. Must NFR-USA-005, _context.md §3
TS-003 Rate limiting shall be applied per IP, per user, and per intake channel at the tiers in §3.1; nginx limit-req at the edge and @nestjs/throttler (Redis-backed) at the API, mirroring SEC-035. Must NFR-SEC-009, SEC-035
TS-004 Bot detection shall run on intake: header and TLS fingerprint heuristics, known-bad IP and ASN reputation feeds, request-pattern anomalies (too-fast, too-uniform), and headless-browser signals; suspicious requests are challenged, throttled, or silently shadow-banned (queued for moderation rather than rejected). Should NFR-USA-005
TS-005 Email verification shall be required before an unverified account can file (magic link or OTP); disposable-domain denylist applied; the verified state is stored on the account and surfaced to moderators. Must NFR-PRIV-002
TS-006 Phone verification shall be required for company representatives and offered to citizens (SMS OTP via Jazz / Telenor); a number may be verified against a maximum number of accounts to bound SIM-rotation abuse; re-verification on sensitive changes. Must NFR-PRIV-002, _context.md §3
TS-007 Adaptive challenge escalation: repeated triggers of the same throttle (per IP/user) within a rolling window shall escalate the response — CAPTCHA → slow-down → temporary block (minutes) → flag for moderation — rather than failing open or hard-blocking outright. Should NFR-SEC-009
TS-008 Throttle and challenge events shall be logged with the four-W + trace (who/what/when/why/trace_id) and surfaced on the trust metrics dashboard (§15); a throttle firing above the SEC-035 storm threshold pages on-call. Must NFR-AUD-001, SEC-043

3.1 Rate-limit tiers

The tiers below extend the security baseline (/specs/en/11-security-compliance/ §10) with the intake-channel dimension. A request counts against all applicable scopes (a ticket filed over WhatsApp counts against the per-user, per-IP, and per-channel limits simultaneously); the most restrictive wins.

Tier Scope Limit Action on breach
T0 — anonymous public filing per IP ≤ 5 / hour CAPTCHA challenge
T0 — anonymous public filing per IP ≤ 20 / day slow-down + moderation queue
T1 — authenticated filing per user ≤ 30 / min · ≤ 200 / day throttle + flag
T1 — authenticated filing per company ≤ 500 / day flag for triage
T2 — bulk / mass-filing signal per IP+ASN ≥ 50 distinct accounts / hour shadow-ban to moderation queue, alert on-call
T3 — inbound email-to-ticket per sender address ≤ 10 / hour hold + dedupe
T3 — inbound SMS/WhatsApp-to-ticket per number ≤ 10 / hour hold + dedupe
T4 — whistleblower / anonymous channel per IP ≤ 3 / hour · ≤ 10 / day CAPTCHA + dedupe on content hash
T5 — search & AI endpoints per user per SEC-035 table throttle
T6 — repeat-offender block per user ≥ 3 sustained breaches / 24 h temporary suspension + appeal

4. Spam & Abuse Detection

Beyond the perimeter, SITP runs a two-engine detection layer: a deterministic rule engine for fast, explainable signals, and an ML classifier for subtler patterns (semantic similarity, intent). Both are multilingual (EN/UR/SD) and feed the moderation queue in §5.

ID Control [M|S|C] Trace
TS-009 A rule engine shall evaluate every incoming submission against versioned, audit-logged rules: repetitive content, copy-paste fingerprint, excessive links/contacts, keyword and regex denylists (per category and per language), and structural spam markers. Must NFR-USA-005
TS-010 An ML abuse classifier shall score submissions for spam/abuse probability and for category (spam, abusive-language, defamation-risk, off-topic); the model shall be pluggable behind the AI interface (_context.md §3, /specs/en/07-ai-ocr-spec/) and retrainable on labelled moderation outcomes. Should NFR-AI-*, _context.md §4 (Module E)
TS-011 Repetitive-content detection shall flag near-duplicate submissions from the same user, company, or IP within a window (content hash + fuzzy similarity, language-agnostic); repeated identical filings against the same department are merged with notice. Must NFR-USA-005
TS-012 Mass-filing detection shall flag coordinated submission bursts: many distinct accounts, same target department/category, similar content, narrow time window, common IP/ASN or device fingerprint; flagged batches are held for human moderation and the trust team is alerted. Must NFR-USA-005
TS-013 Abusive-language detection shall run multilingual (English, Urdu in Nastaliq and Roman, Sindhi) covering profanity, threats, slurs, and harassment; matched content is auto-hidden from public view and routed to the moderation queue, with the original retained for review. Must NFR-USA-005, /specs/en/09-i18n-localization/
TS-014 Defamation-risk flagging shall identify submissions that make specific, damaging, unverified accusations against named individuals or organisations; flagged content is held from public/department-visible surfaces until moderated, the accused party is not auto-notified, and a defamation-review queue is populated. Must NFR-PRIV-003, /specs/en/22-governance-legal/
TS-015 Detection outcomes shall be one of: allow, flag (visible pending review), hold (hidden pending review), or block (rejected with reason); only allow and flag are automated; hold and block require a human confirmation within a configurable SLA. Must NFR-USA-005
TS-016 The detection layer shall be explainable: every flag/hold/block decision shall carry the firing rules or model score and a human-readable reason, surfaced to the moderator and (in redacted form) to the affected user on request. Must NFR-AUD-001

5. Content Moderation

Flagged content flows into a single moderation work queue governed by clear roles, a fixed action set, and an appeal path. Moderation is human-in-the-loop for every consequential outcome; automation only prepares and prioritises.

ID Control [M|S|C] Trace
TS-017 A unified moderation queue shall collect all flagged items (spam, abusive language, defamation-risk, user reports, mass-filing batches, takedown requests) with severity, age, language, and target; the queue supports assignment, claiming, bulk actions, and SLA timers. Must NFR-USA-005
TS-018 Moderation roles shall be distinct from ticket-resolving roles: Moderator (review and act on flagged content), Senior Moderator / Trust Lead (handle appeals, penalties, VIP/confidential items, law-enforcement referrals), and Read-only Auditor (oversight of moderation actions). All require the training certification gate (/specs/en/04-roles-permissions/ §14). Must /specs/en/04-roles-permissions/ §3, §14
TS-019 Moderators shall take one of a fixed action set: approve (clear flag, restore visibility), hide (visible to author and staff only), remove (deleted from public/department view, retained for audit), warn (notice to author), suspend (account, routed via §6), or escalate (to Senior Moderator / Trust Lead / legal). Must NFR-USA-005
TS-020 Every moderation action shall be reason-coded, audit-logged (four-W + trace), and notified to the affected user in their preferred language with the reason, the action, and the appeal path; silent moderation is prohibited. Must NFR-AUD-001, SEC-043
TS-021 Appeals of moderation actions shall be available to every affected user, decided by a Senior Moderator / Trust Lead who did not take the original action (separation of duties), within a configurable SLA (default 3 business days); the appeal outcome and rationale are audit-logged and notified. Must NFR-USA-005
TS-022 Moderation SLAs shall track queue age by severity: defamation-risk and threats ≤ 4 hours; abusive language and user reports ≤ 1 business day; spam and duplicates ≤ 2 business days; breaches surface on the trust dashboard (§15). Should NFR-USA-005
TS-023 Moderators shall be protected from secondary exposure: when reviewing defamation-risk or whistleblower-adjacent content, viewer access is itself audit-logged (SEC-045) and abnormal review patterns raise curiosity-reading alerts. Must NFR-AUD-004, SEC-045
TS-024 The rule engine and ML classifier (§4) shall learn from moderation outcomes: confirmed actions become labelled training data; the model's precision and recall are monitored and drift triggers retraining or rule rollback. Should NFR-AI-*

5.1 Moderation pipeline

The diagram traces a submission from intake through detection to moderation decision and appeal. The written description follows.

flowchart TD IN["Inbound submission<br/>(web · email · SMS · WhatsApp · whistleblower)"] RL["Edge controls<br/>CAPTCHA · rate-limit · bot detection<br/>TS-001 – TS-008"] DET{"Detection layer<br/>rule engine + ML<br/>TS-009 – TS-016"} ALLOW["Allow → publish / route"] FLAG["Flag → visible, pending review"] HOLD["Hold → hidden, pending review"] QUEUE["Moderation queue<br/>TS-017 – TS-018"] MOD{"Moderator review<br/>TS-019"} APPROVE["Approve → restore"] HIDE["Hide → staff+author only"] REMOVE["Remove → deleted from view, retained"] WARN["Warn author"] SUSP["Suspend account → §6 penalty ladder"] ESC["Escalate → Senior / Trust Lead / legal / law-enforcement"] NOTE["Notify user + reason + appeal path<br/>TS-020"] APPEAL{"User appeal<br/>TS-021"} SENIOR{"Senior Moderator / Trust Lead<br/>(did not take original action)"} UPHELD["Upheld"] OVERTURNED["Overturned → restore + note"] AUD["Append-only, hash-chained audit<br/>SEC-042 – SEC-044"] IN --> RL --> DET DET -- allow --> ALLOW DET -- flag --> FLAG --> QUEUE DET -- hold --> HOLD --> QUEUE DET -- block --> HOLD QUEUE --> MOD MOD --> APPROVE MOD --> HIDE MOD --> REMOVE MOD --> WARN MOD --> SUSP MOD --> ESC APPROTE & HIDE & REMOVE & WARN & SUSP & ESC --> NOTE NOTE --> APPEAL APPEAL --> SENIOR SENIOR --> UPHELD SENIOR --> OVERTURNED MOD -. every action .-> AUD SENIOR -. every appeal .-> AUD classDef end_ fill:#eef6ee,stroke:#2f6f2f,color:#2f6f2f; classDef audit fill:#f0f6fd,stroke:#2c5282,color:#2c5282; class ALLOW,UPHELD,OVERTURNED end_; class AUD audit;

Written description. A submission arrives through any intake channel (web form, inbound email, SMS/WhatsApp-to-ticket, or the whistleblower channel). It first passes the edge controls (§3): CAPTCHA, per-IP/user/channel rate limiting, and bot detection. The detection layer (§4) then scores it with the rule engine and the ML classifier across spam, abusive-language, defamation-risk, and mass-filing signals. A submission scored allow is published or routed normally. A submission scored flag stays visible but enters the moderation queue for review; a submission scored hold (or block, which routes to hold pending confirmation) is hidden from public/department view until reviewed. The moderator (§5) takes one of six actions — approve, hide, remove, warn, suspend, or escalate. Every consequential action triggers a user notification carrying the reason and the appeal path, and is written to the audit log. If the user appeals, a Senior Moderator or Trust Lead who did not take the original action reviews the case and either upholds or overturns it. The pipeline is fail-safe: in detection ambiguity, content is held for review rather than published; in moderation ambiguity, the moderator escalates rather than guessing; and every step — including appeals — is recorded in the append-only, hash-chained audit log.


6. False / Malicious Complaints

A genuine portal must protect departments from complaints filed in bad faith: fabricated grievances, deliberate harassment of officials, extortion attempts, or coordinated defamation. SITP distinguishes unfounded (no wrongdoing found, but filed in good faith — no penalty) from false/malicious (knowingly fabricated or filed to harm). The latter carries consequences, with due process at every rung.

ID Control [M|S|C] Trace
TS-025 Detection signals for false/malicious complaints shall include: fabricated evidence (forged documents detected by OCR/hash mismatch), perjury-pattern contradictions, serial complaints against the same target with no substance, complaints timed to coerce (extortion), and complaints recanted on challenge without basis. Must NFR-USA-005
TS-026 A false-complaint investigation shall be opened only by a Senior Moderator / Trust Lead, with documented evidence, the target department notified, and the complainant given a written opportunity to respond before any adverse finding. Must NFR-AUD-001, /specs/en/22-governance-legal/
TS-027 An adverse finding shall follow the penalty ladder in §6.1, proportionate to severity, intent, and recidivism; the rung applied and the justification are audit-logged and appealable. Must NFR-USA-005
TS-028 Reinstatement shall be available at every rung: a suspended or blacklisted user may apply after a documented cooling-off period; reinstatement is decided by the Trust Lead with conditions (e.g. mandatory re-attestation, lower filing limits), and is itself audit-logged. Must NFR-USA-005
TS-029 Legal referral shall be triggered for egregious cases — forged government documents, credible threats, extortion, or defamation of named individuals — by referral to the S&ITD legal cell and, where the act constitutes an offence, to law enforcement under the procedure in §7.4 and /specs/en/22-governance-legal/. Must /specs/en/22-governance-legal/
TS-030 Good-faith protection: no complainant shall be penalised merely because a complaint could not be substantiated; the threshold for a false-complaint finding is knowing falsity or reckless disregard for truth, recorded with evidence. Must NFR-USA-005
TS-031 A company-level false-complaint finding may, at the top rung, affect the company's Verified status (downgrade to Provisional, or suspension per /specs/en/04-roles-permissions/ §11.3); the Primary Authorized Rep is notified and may appeal before the status change takes effect. Should /specs/en/04-roles-permissions/ §11.3
TS-032 False-complaint findings and penalties shall be reported in aggregate on the transparency report (§16) without identifying individuals; individual records are retained per the audit and records schedule (/specs/en/11-security-compliance/ §16). Must NFR-PRIV-007, SEC-047

6.1 Penalty ladder

The ladder escalates by severity, intent, and recidivism. Each rung requires a documented reason, an audit entry, a user notification with appeal rights, and — from R2 upward — Senior Moderator / Trust Lead approval. A complainant always retains the right to appeal before a rung takes effect.

Rung Action Trigger (illustrative) Duration Appeal
R0 No action / unfounded note Filed in good faith, not substantiated N/a (good-faith protected, TS-030)
R1 Warning First minor violation (e.g. abusive tone, single careless false claim) On record 12 months Yes, to Trust Lead
R2 Content removal + mandatory re-attestation Defamation-risk confirmed, fabricated minor evidence Permanent on the item Yes, to Trust Lead
R3 Temporary suspension Repeat violations, coordinated mass-filing, extortion attempt 7 – 30 days, set by Trust Lead Yes, to S&ITD facilitation lead
R4 Extended suspension + filing-cap reduction Severe or serial false complaints, forgery of evidence 30 – 180 days Yes, to S&ITD Secretary nominee
R5 Blacklisting Egregious: confirmed forgery of government documents, credible threats, criminal defamation Indefinite (reinstatement path only) Yes, to S&ITD Secretary
R-LE Legal / law-enforcement referral Act constitutes an offence (forgery, extortion, threats, defamation) Parallel to the rung above Per legal process

Reinstatement path (TS-028). A blacklisted user or company may apply for reinstatement after a documented cooling-off period (default 12 months) by submitting a reinstatement request through the Trust Lead. Reinstatement is conditional — typically re-attestation of identity, reduced filing limits, and a probationary period — and the decision (grant, deny, or grant-with-conditions) is audit-logged and notified.


7. Abuse Against Staff

Government staff resolving tickets are public-facing and exposed to harassment. SITP protects them with controls on the channel (blocking, rate limits) and on the escalation path (law enforcement where conduct becomes criminal).

ID Control [M|S|C] Trace
TS-033 Staff personal contact details (personal phone, personal email, home address) shall never be exposed through the portal; all staff-facing communication runs through the platform's masked channels (ticket thread, in-app comms) with no PII egress. Must NFR-PRIV-003, SEC-021
TS-034 Abuse-language and threat detection (§4) shall run on all inbound content directed at staff (ticket replies, internal-comms DMs, inbound email/SMS/WhatsApp replies) and auto-hide threatening content before it reaches the staff member, routing it to the moderation queue. Must NFR-USA-005
TS-035 Staff shall be able to block a user from their direct channels (DMs, replies) with one action; the block is recorded, the user is notified per policy, and the underlying ticket is reassigned or placed under moderator supervision so resolution is not abandoned. Must NFR-USA-005
TS-036 A staff member subjected to threats or sustained abuse shall be able to raise a staff-protection flag that (a) freezes the offending user's interactions, (b) notifies the Trust Lead, and (c) preserves all evidence in a tamper-evident bundle for review. Must NFR-AUD-001
TS-037 A staff-protection dashboard shall surface threats, sustained-abuse patterns, and high-volume offenders to the Trust Lead, with the ability to apply immediate temporary suspension pending review. Should NFR-USA-005
TS-038 Retaliation protection: no adverse personnel consequence shall attach to a staff member who escalates a threat or declines to continue a hostile interaction; the escalation path is documented and protected. Must /specs/en/22-governance-legal/

7.1 Escalation to law enforcement

When conduct directed at staff crosses from abusive into criminal — credible threats of violence, doxxing, extortion, sustained harassment — the matter leaves the platform's enforcement toolkit and enters the legal domain. The procedure is owned jointly by the Trust Lead and the S&ITD legal cell (see /specs/en/22-governance-legal/).

  1. Triage. The Trust Lead confirms the conduct meets a criminal threshold and preserves the evidence bundle (audit chain, message snapshots, identity records held under §8/§10 restrictions).
  2. Legal review. The S&ITD legal cell reviews the bundle and authorises (or declines) referral, recording the decision and rationale in the audit log.
  3. Referral. Where authorised, the matter is referred to the appropriate law-enforcement agency with a formal cover note on S&ITD letterhead (Module L), the evidence bundle made available under controlled disclosure, and identity data released only to the extent the legal basis permits.
  4. Platform action. In parallel, the offending account is suspended or blacklisted per the penalty ladder (§6.1, rung R-LE) and the affected staff member is supported per TS-038.
  5. Record. The referral, the legal basis, the data disclosed, and the outcome are retained per the records schedule (/specs/en/11-security-compliance/ §16) and surfaced in aggregate on the transparency report.

8. Anonymous / Whistleblower Channel

SITP provides a separate, confidential intake channel for sensitive reports — corruption, misconduct, harassment, fraud — where the reporter's identity must be shielded or withheld entirely. This channel is architecturally distinct from the normal ticketing flow: it uses its own intake, its own storage treatment, and an ABAC-restricted visibility that excludes even roles who would normally see department tickets. The channel operationalises the whistleblower expectation referenced in _context.md §6, /specs/en/04-roles-permissions/ §5 and §13, and the retention row "Whistleblower / anonymous intake" in /specs/en/11-security-compliance/ §16 (10-year, identity-protected retention).

ID Control [M|S|C] Trace
TS-039 A dedicated whistleblower/anonymous intake shall exist as a separate route (distinct URL, separate form, no requirement to register or log in) for corruption, misconduct, harassment, fraud, and other sensitive reports; it is reachable from the public site without crossing into the company/citizen authenticated flow. Must _context.md §6, /specs/en/04-roles-permissions/ §5
TS-040 The reporter's identity shall be protected by default: the channel shall not require a name, email, or phone; if the reporter optionally provides contact details, they are stored in the Restricted-data PII vault (SEC-021), field-level encrypted, never indexed, and never shown alongside the report body. Must NFR-PRIV-003, SEC-021
TS-041 Restricted visibility via ABAC: a whistleblower report shall be visible only to the explicitly designated Whistleblower Triage unit (a small, named S&ITD cohort) and the configured escalation chain; no department, DG, Secretary, or other staff shall see it through ordinary RBAC, and ABAC denial is the default (SEC-009). Must SEC-009, /specs/en/04-roles-permissions/ §6.3
TS-042 No PII leakage: the report body, any attachments, and the optional contact data shall be processed on-prem only; cloud AI/OCR engines are forbidden for whistleblower content (mirrors SEC-051 for Restricted data); the report shall not appear in cross-ticket search, similarity detection, or analytics that could re-identify the reporter. Must SEC-051, /specs/en/15-tech-architecture/ §6.2
TS-043 Secure one-way communication: the reporter shall receive a tracked token (not a login) to view status and receive messages from the triage unit; the triage unit can post updates and request more information through the token, but cannot reply to or surface the reporter's contact details unless the reporter explicitly opted in. Must /specs/en/04-roles-permissions/ §5
TS-044 Protection from retaliation: a retaliation report ("I reported X and was penalised") shall be a first-class intake type on the same channel, routed to an independent reviewer (not the subject of the original report); retaliation findings are treated as severe and feed the penalty ladder (§6.1). Must /specs/en/22-governance-legal/
TS-045 Anonymous intake hardening: the whistleblower channel shall apply the T4 rate limit (§3.1), CAPTCHA on every submission, content-hash dedupe to bound anonymous spam, and bot detection, without collecting the identifying signals used on authenticated intake. Must TS-001, TS-004, §3.1
TS-046 Whistleblower records shall be retained for 10 years in identity-protected form, then archived per the records schedule; legal-hold overrides retention as in SEC; all reads are individually audit-logged (SEC-045) and reviewed for curiosity reading. Must /specs/en/11-security-compliance/ §16, SEC-045
TS-047 The whistleblower channel shall be operated under documented governance (named accountable officer in S&ITD, periodic review by the Read-only Auditor, cross-reference to the security and compliance posture in /specs/en/11-security-compliance/ §15 and §18) so that the channel's promise of confidentiality is verifiable, not merely asserted. Must /specs/en/11-security-compliance/ §15, §18

8.1 Whistleblower confidential flow

The diagram shows the architecturally separate path a whistleblower report takes, from anonymous intake through ABAC-restricted triage, and how the reporter is reached only through a tracked token. The written description follows.

flowchart TD W["Whistleblower / Anonymous reporter<br/>(no login, no identity required)"] INTK["Dedicated confidential intake<br/>separate route · CAPTCHA · T4 rate limit · bot detection<br/>TS-039, TS-045"] OPT{"Reporter opts in to contact?"} VAULT["Optional contact → PII vault<br/>field-level encrypted · never indexed<br/>TS-040"] ANON["Report body + attachments<br/>anonymised · on-prem only<br/>TS-042"] QUEUE["Whistleblower Triage queue<br/>ABAC-restricted · named cohort only<br/>TS-041"] TRIAGE{"Triage review<br/>named S&ITD unit + escalation chain"} TOKEN["Tracked token<br/>(not a login)<br/>TS-043"] COMM["One-way secure messages<br/>status updates · requests for info"] INVEST["Investigation / action<br/>via confidential ticket pipeline"] RETAL["Retaliation report?<br/>→ independent reviewer<br/>TS-044"] AUD["Append-only audit<br/>every read individually logged<br/>TS-046, SEC-045"] RET["10-year identity-protected retention<br/>then archive<br/>TS-046"] EXT["External systems<br/>(search · analytics · cloud AI · cross-ticket)"] BLOCK["Blocked — no PII leakage<br/>TS-042"] W --> INTK INTK --> OPT OPT -- yes --> VAULT OPT -- no --> ANON VAULT --> ANON ANON --> QUEUE --> TRIAGE TRIAGE --> INVEST TRIAGE --> RETAL W -. receives .-> TOKEN TOKEN -. one-way .-> COMM COMM -. posted by triage .-> TOKEN TRIAGE -. every read .-> AUD INVEST -. closed .-> RET ANON -. excluded from .-> EXT EXT --> BLOCK classDef restricted fill:#fdf2f0,stroke:#9b2c2c,color:#9b2c2c; classDef audit fill:#f0f6fd,stroke:#2c5282,color:#2c5282; classDef safe fill:#eef6ee,stroke:#2f6f2f,color:#2f6f2f; class VAULT,QUEUE,RETAL restricted; class AUD,RET audit; class BLOCK safe;

Written description. The reporter enters through the dedicated confidential intake — a separate route that requires no login and no identity. The intake applies CAPTCHA, the T4 rate limit, content-hash dedupe, and bot detection, without collecting the identifying signals used on the authenticated flow. If the reporter optionally chooses to share contact details, those details go directly into the PII vault — field-level encrypted, never indexed, never shown beside the report body. The report body and any attachments are anonymised and processed on-prem only; cloud AI/OCR engines are forbidden (mirrors SEC-051). The report enters the Whistleblower Triage queue, whose visibility is ABAC-restricted to a named S&ITD cohort and the configured escalation chain; no department, DG, or Secretary sees it through ordinary RBAC, and ABAC denial is the default. The reporter is reached only through a tracked token (not a login): the triage unit posts status updates and information requests through the token, and cannot surface the reporter's contact details unless the reporter explicitly opted in. If the report is itself a retaliation complaint, it is routed to an independent reviewer who is not the subject of the original report. Every read of the report is individually audit-logged and reviewed for curiosity reading, and the record is retained for 10 years in identity-protected form before archival. Crucially, the report is excluded from cross-ticket search, similarity detection, analytics, and any cloud-bound pipeline, so the channel's promise of confidentiality is enforced architecturally, not merely by policy.


9. Identity-Verification Appeals

Registration uses file-first, verify-in-parallel (_context.md §5): an entity registers, gets an instant Provisional account, can file immediately, and background checks (SECP, FBR/NTN, SRB, PSEB, NADRA for reps, plus domain email) run in parallel to grant the Verified badge — or hold the account if they fail. A hold is not a dead end: the entity may appeal and re-submit. This section governs that appeal.

ID Control [M|S|C] Trace
TS-048 When a company or representative fails SECP / FBR / NADRA (or SRB/PSEB/domain-email) verification, the system shall place the account in Verification-Held state, notify the Primary Authorized Rep with the specific failing check(s) and the appeal path, and allow continued read access to already-filed tickets while blocking new privileged actions. Must _context.md §5, /specs/en/08-integrations-spec/
TS-049 The rep shall be able to appeal a verification failure and/or re-submit corrected/updated evidence (corrected registration number, re-attested CNIC, domain-email proof, supporting documents) through a dedicated appeal workflow; each re-submit re-runs only the failing checks. Must NFR-USA-005
TS-050 Appeals shall receive human review by a verified S&ITD facilitation officer (not the automated check), who can confirm, overturn, or request additional evidence; the decision and rationale are audit-logged and notified. Must NFR-AUD-001
TS-051 SLA: a verification appeal shall be decided within 5 business days of complete submission; if additional evidence is requested, the clock pauses until the evidence is provided and a 7-day response window applies; breaches surface on the trust dashboard (§15). Must NFR-USA-005
TS-052 On successful appeal, the account moves to Verified status with the badge, the original hold record is retained for audit, and any tickets filed during the hold continue normally; on denied appeal, the account may be downgraded or suspended per /specs/en/04-roles-permissions/ §11.3, with a further appeal right to the S&ITD Secretary nominee. Must /specs/en/04-roles-permissions/ §11.3
TS-053 Identity fraud detected during verification (forged CNIC, impersonation, fictitious SECP number) shall be treated as a false-complaint-class offence, routed to the penalty ladder (§6.1, rung R-LE) and, where the act is criminal, to legal/law-enforcement referral (§7.1). Must TS-029, /specs/en/22-governance-legal/

10. VIP / Confidential Handling

Some tickets are politically sensitive (VIP) or commercially/personally sensitive (Confidential). These are governed by the ABAC layer documented in /specs/en/04-roles-permissions/ §6.3 and §13 and in /specs/en/11-security-compliance/ §5 (SEC-009, SEC-011). This section restates the trust-and-safety contract for that handling and ties it to the controls in this catalogue.

ID Control [M|S|C] Trace
TS-054 A ticket flagged Confidential or VIP shall be visible only to the assigned staff, the S&ITD Facilitation Officer on the case, watchers explicitly added, and oversight roles for whom the per-department confidential-visibility toggle is on; all others — including a DG who would normally see all department tickets — are denied by ABAC (SEC-009). Must SEC-009, /specs/en/04-roles-permissions/ §13
TS-055 Break-glass access to a confidential/VIP ticket shall require step-up authentication + a stated reason, grant time-boxed access, and audit-log every read of the record for review by the Read-only Auditor within one business day (SEC-011, SEC-045). Must SEC-006, SEC-011, SEC-045
TS-056 Who can set confidentiality: the filing company rep, the receiving Department Admin, the S&ITD Facilitation Officer, and the Super Admin may flag a ticket Confidential or VIP at filing or at any later point; changes are reason-coded and audit-logged. Must /specs/en/04-roles-permissions/ §13
TS-057 Who can view: view entitlement is resolved dynamically by ABAC from the ticket's attributes (department, sensitivity flag, assigned unit, watcher list), not from role alone; the ABAC decision is re-evaluated on every request so that removing a watcher instantly revokes visibility. Must SEC-008, SEC-009
TS-058 VIP closure gate: a VIP ticket shall require DG (Chair) approval before closure (capability #31, power O9), and a sensitive ticket shall require Chair/DG approval before MoM share (capability #33, power O10), per /specs/en/04-roles-permissions/ §9 and /specs/en/21-mom-meetings/. Must /specs/en/04-roles-permissions/ §9
TS-059 Confidential/VIP tickets shall be excluded from cloud AI pipelines (mirrors SEC-051), excluded from public transparency-dashboard drill-downs that could re-identify, and processed on-prem only. Must SEC-051
TS-060 The confidentiality state and every change to it shall be auditable end-to-end: who set it, when, why, who viewed under it, and who broke glass — all retained per the records schedule and reviewable by the Read-only Auditor. Must SEC-042, SEC-045

11. Reporting & Blocking

Reporting is the crowd-sourced complement to automated detection: users flag content or other users, and staff apply blocks and suspensions. Both flows feed the moderation queue (§5) and the penalty ladder (§6.1).

ID Control [M|S|C] Trace
TS-061 Any user shall be able to report content or another user from the item itself with a reason code (spam, abuse, defamation, threat, fraud, other) and optional evidence; reports enter the moderation queue (§5) with a target and a reporter (reporter identity protected where the report concerns retaliation/whistleblowing). Must NFR-USA-005
TS-062 Staff shall be able to block or suspend an account with a reason code, duration, and audit entry; the action notifies the affected user with the reason and the appeal path (TS-020, TS-021). Must NFR-USA-005
TS-063 A reporter-abuse safeguard shall detect and contain malicious or weaponised reporting (serial unfounded reports against the same target, coordinated reporting); abuse of the report function is itself a moderation offence and feeds the penalty ladder. Should NFR-USA-005
TS-064 Blocked/suspended users shall retain a read-only view of their own historical tickets for audit continuity (mirrors /specs/en/04-roles-permissions/ §11.1) but lose all write and filing capability for the block duration. Must /specs/en/04-roles-permissions/ §11.1
TS-065 Appeals of blocks/suspensions shall follow TS-021 (Senior Moderator / Trust Lead, separation of duties, SLA), with the outcome notified and audit-logged; a successful appeal restores the account and removes the block from the user-facing record (the audit entry is retained). Must NFR-USA-005
TS-066 Report and block metrics (volume, resolution time, overturn rate, repeat offenders) shall feed the trust metrics dashboard (§15) and the transparency report (§16). Must §15, §16

12. Data Integrity

Trust depends on the record being truthful: that a complaint was actually filed as shown, that a resolution was actually achieved, that a closure was not fabricated. Integrity controls ensure moderation and enforcement actions — and the tickets they touch — cannot be silently rewritten.

ID Control [M|S|C] Trace
TS-067 Every trust-and-safety state change (flag, hold, moderation action, penalty, block, takedown, appeal outcome, confidentiality change) shall be written to the append-only, hash-chained audit log (SEC-042, SEC-044) with the four-W + trace; no role shall hold UPDATE/DELETE on these records. Must SEC-042, SEC-044
TS-068 The proof-of-resolution gate (_context.md §5, /specs/en/06-ticket-workflow/) shall prevent false closure: a ticket cannot move to Resolved without ≥ 1 evidence attachment and a resolution note; sensitive/VIP tickets additionally require Chair/DG approval. Must _context.md §5, TS-058
TS-069 Auto-close after company acceptance or CSAT-window expiry shall be tamper-evident: the close event records the trigger, the timestamp, and the accepting party; a close that lacks its proof bundle is flagged as anomalous. Must /specs/en/06-ticket-workflow/
TS-070 Moderation and penalty records shall be immutable once finalised: a correction is made by a new, linked, reason-coded record (append), never by editing the original; the audit chain preserves both. Must SEC-042
TS-071 A quarterly integrity verification job shall confirm the audit hash chain is intact (mirrors SEC-044) and that no trust-and-safety record has been altered outside the append model; a break pages on-call and triggers the breach process if confirmed (SEC-092). Must SEC-044, SEC-092
TS-072 Evidence bundles for penalties, takedowns, and law-enforcement referrals shall be cryptographically sealed (signed manifest) at creation so their integrity is verifiable at any later audit or legal proceeding. Must /specs/en/11-security-compliance/ §20, SEC-093

13. PII & Sensitive-Data Handling in User-Generated Content

Users sometimes expose PII accidentally — a CNIC pasted into a public reply, a bank statement attached to a visible thread, a third party's phone number in a screenshot. SITP detects and contains this before it propagates.

ID Control [M|S|C] Trace
TS-073 A PII auto-detection pass (rule + ML, multilingual) shall scan all user-generated content destined for public or department-visible surfaces — ticket replies, public comments, KB contributions, suggestion box — for CNIC, phone, email, bank/card numbers, addresses, and biometric-like data. Must NFR-PRIV-003, /specs/en/07-ai-ocr-spec/ (Module E, PII redaction)
TS-074 On detection, the system shall auto-redact the PII in the visible copy (mask or token), retain the original in the Restricted PII vault (SEC-021) accessible only to authorised roles, and notify the author that PII was detected and redacted. Must SEC-021, NFR-PRIV-003
TS-075 For attachments containing likely PII (bank statements, CNIC scans, contracts), the system shall flag for moderation before public/department release, offer the author a redact-and-share path, and apply the AV + content-validation controls of SEC-032. Must SEC-032
TS-076 Third-party PII (someone other than the author) shall be treated more strictly: auto-hide pending author correction, and never surface even to department staff without an ABAC-grant, to prevent doxxing through the portal. Must SEC-009, NFR-PRIV-003
TS-077 PII-detection precision and recall shall be monitored per language (EN/UR/SD); false negatives (PII that leaked) are treated as privacy incidents and feed the breach process where confirmed (SEC-092). Must SEC-092, /specs/en/09-i18n-localization/

When a court or a competent government authority orders content removed or an account actioned, SITP follows a documented process that preserves due process, minimises over-removal, and keeps the action transparent in aggregate. This operationalises the legal authority documented in /specs/en/22-governance-legal/.

ID Control [M|S|C] Trace
TS-078 Takedown requests shall be accepted only on a competent legal basis: a court order, a lawful direction from a competent government authority, or a documented Sindh RTI Act 2016 exemption decision; each request is recorded with its basis, issuer, date, and scope. Must /specs/en/22-governance-legal/, /specs/en/11-security-compliance/ §18
TS-079 Every takedown shall be reviewed by the S&ITD legal cell for validity and scope before action; the review confirms the legal basis, narrows the scope to what the order requires (no over-removal), and records the decision and rationale. Must /specs/en/22-governance-legal/
TS-080 The affected user shall be notified of the takedown, the legal basis, and any appeal/judicial-review path available to them, unless the order lawfully prohibits notification (in which case the prohibition and its basis are recorded). Must NFR-USA-005
TS-081 Takedown actions shall be time-boxed and reviewable: where the order has an expiry or is provisional, the action auto-reverts on expiry; a material change in the legal basis triggers re-review; the action is retained in the audit log per the records schedule. Should SEC-042, /specs/en/11-security-compliance/ §16
TS-082 Takedowns shall be reported in aggregate on the transparency report (§16): count by basis (court order / government direction / RTI exemption / platform policy), by target type, and by outcome — without identifying individuals. Must §16

15. Trust Metrics

Trust-and-safety performance is measured, monitored, and surfaced to the Trust Lead, S&ITD oversight, and (in aggregate) the public. Metrics are wired into the analytics module (/specs/en/17-analytics-kpis/).

ID Control [M|S|C] Trace
TS-083 A trust metrics dashboard shall track, at minimum: spam caught, abuse reports received and resolved, false-complaint rate, suspension/blacklist rate, moderation SLA adherence, appeal volume and overturn rate, whistleblower intake volume (aggregate only), takedown count by basis, and PII-leak incidents. Must /specs/en/17-analytics-kpis/
TS-084 Metrics shall be segmentable by language, department, channel, and time, without enabling re-identification (small-cell suppression on confidential/whistleblower cuts). Must NFR-PRIV-003
TS-085 Threshold alerts shall page the Trust Lead on anomalies: spike in mass-filing, spike in abusive-language detection, moderation SLA breach, PII-leak incident, audit hash-chain break, or break-glass surge. Must NFR-OBS-004
TS-086 Metric definitions shall be versioned and documented so that period-over-period comparison is valid; a change in definition is itself logged with its effective date. Should /specs/en/17-analytics-kpis/

16. Transparency Report

Accountability to the public is part of the safety model. SITP publishes a periodic aggregate transparency report so that enforcement is visible in summary while individual cases remain protected.

ID Control [M|S|C] Trace
TS-087 SITP shall publish a periodic transparency report (default cadence: quarterly, with an annual roll-up) on the public site / public KB, covering the trust metrics in §15 in aggregate form. Must _context.md §6, /specs/en/17-analytics-kpis/
TS-088 The report shall include, at minimum: spam caught, abuse reports received/resolved, false-complaint findings and penalties by rung, suspensions and blacklists, appeals and overturn rate, whistleblower intake volume (aggregate, identity-protected), takedowns by basis, and PII-handling incidents. Must §15
TS-089 All published figures shall be aggregated and anonymised with small-cell suppression (no category with fewer than a configurable minimum, default 5) so that no individual, company, or department can be re-identified from the report. Must NFR-PRIV-003
TS-090 Each report shall state its reporting period, definitions version, methodology, and known limitations, and shall be archived (versioned) on the public KB so historical reports remain comparable. Should /specs/en/18-knowledge-base-sop/

16.1 Transparency report contents

Section What it reports Granularity
Intake & spam Submissions received, spam caught, bot challenges served, throttle events By channel and language
Abuse & moderation Abuse reports received, resolved, SLA adherence, actions by type By category and language
False complaints Findings, penalties by rung (R1–R5), reinstatements Aggregate
Whistleblower channel Intake volume, triage SLA, retaliation findings Aggregate, identity-protected
Takedowns Count by basis (court / government / RTI exemption / platform), outcomes Aggregate
Identity verification Verification pass/fail, appeals filed, appeal outcomes, SLA Aggregate
PII handling Auto-detections, redactions, leak incidents (with severity) Aggregate
Staff protection Threats detected, blocks applied, law-enforcement referrals Aggregate

17. Abuse Categories → Action

This is the operational lookup a moderator applies: given a category of conduct, what is the default action and where does it route. Every cell is reviewable by a human and appealable (TS-019 to TS-021); the defaults below are starting points, not mechanical rules.

Category Example Default detection outcome Default moderation action Penalty ladder rung Route
Spam (unsolicited bulk) Repeated promotional content, link flooding hold remove + warn R1 (first), R3 (serial) Moderation queue
Repetitive / duplicate filing Same content, same target, many times flag / hold merge + warn R1 (first), R3 (serial) Moderation queue
Mass-filing (coordinated) Many accounts, same target, narrow window hold batch review + suspend leads R3–R4 Moderation queue + Trust Lead alert
Abusive language Profanity, slurs, harassment (EN/UR/SD) hide + flag remove + warn R1 (first), R2–R3 (repeat) Moderation queue
Threat Credible threat of violence hide + flag remove + suspend + escalate R4–R5 / R-LE Trust Lead → legal / law enforcement (§7.1)
Defamation risk Damaging unverified accusation, named target hold review; publish only if substantiated or protected R2 (confirmed), R-LE (criminal) Defamation-review queue
False / malicious complaint Fabricated grievance or evidence investigate per finding R2–R5 / R-LE False-complaint investigation (§6)
Identity fraud Forged CNIC, impersonation, fictitious SECP block + investigate suspend + escalate R5 / R-LE Verification appeals (§9) → legal (§7.1)
PII exposure (accidental) CNIC/bank detail in public reply auto-redact redact + notify author — (no penalty) PII handling (§13)
PII exposure (doxxing) Third-party PII posted to harm hide + flag remove + warn/suspend R2–R4 Moderation queue
Retaliation Reporter penalised for reporting hold independent review R4–R5 Whistleblower channel (§8.4)
Weaponised reporting Serial unfounded reports flag reporter warn + report-abuse offence R1–R3 Moderation queue (TS-063)
Abuse against staff Harassment directed at resolving officer hide + flag block user + suspend R2–R5 / R-LE Staff protection (§7)

18. Control Catalogue Summary

Domain Controls IDs Count
PRIN Principles (narrative, §2) 9 tenets
INTK Intake protections TS-001 – TS-008 8
SPAM Spam & abuse detection TS-009 – TS-016 8
MOD Content moderation TS-017 – TS-024 8
FALSE False / malicious complaints TS-025 – TS-032 8
STAFF Abuse against staff TS-033 – TS-038 6
WB Whistleblower / anonymous channel TS-039 – TS-047 9
IVA Identity-verification appeals TS-048 – TS-053 6
CVIP Confidential / VIP handling TS-054 – TS-060 7
RPT Reporting & blocking TS-061 – TS-066 6
INTEG Data integrity TS-067 – TS-072 6
UGC PII in user-generated content TS-073 – TS-077 5
TD Takedown & legal requests TS-078 – TS-082 5
MET Trust metrics TS-083 – TS-086 4
TR Transparency report TS-087 – TS-090 4
Total TS-001 – TS-090 90

18.1 MoSCoW distribution

Priority Count
Must 73
Should 17
Could 0
Won't (this phase) 0
Total 90

19. Open Items [TBD/confirm]

Item Owner Decision needed by
Final CAPTCHA provider selection (hCaptcha vs Cloudflare Turnstile vs self-hosted proof-of-work) and the data-residency implications of each (TS-002). MAAHIR + S&ITD Phase-1 gate
Confirmed per-channel rate-limit values after load and abuse simulation (§3.1) — defaults above are starting points to be tuned against /specs/en/13-test-strategy/ abuse scenarios. MAAHIR + Trust Lead Phase-2 gate
Multilingual abusive-language and defamation-risk lexicons and model training data for Urdu (Nastaliq + Roman) and Sindhi (TS-013, TS-014) — to be curated with linguistic review and civil-society input. Trust Lead + i18n Phase-2 gate
Named Whistleblower Triage cohort and the independent reviewer for retaliation reports (TS-041, TS-044), with the accountable S&ITD officer on record. S&ITD Secretary Phase-1 gate
Verification-appeal SLA confirmation (TS-051, default 5 business days) and the further-appeal authority (S&ITD Secretary nominee) — confirm against administrative practice. S&ITD Phase-1 gate
Legal/law-enforcement referral protocol and the competent authorities for each offence class (TS-029, TS-053, §7.1) — to be agreed with the S&ITD legal cell and documented in /specs/en/22-governance-legal/. S&ITD legal cell Phase-3 gate
Transparency-report cadence (default quarterly + annual, TS-087) and small-cell suppression threshold (default 5, TS-089) — confirm against disclosure-risk appetite. Trust Lead + S&ITD Phase-3 gate
Alignment of penalty-ladder durations (§6.1) with any applicable Sindh government administrative-discipline rules before baseline freeze. S&ITD legal cell Phase-3 gate

These [TBD/confirm] items are tracked to closure in /specs/en/14-roadmap-release/ and reflected back into this document as the decisions land.


End of document.