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.
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/).
- 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).
- Legal review. The S&ITD legal cell reviews the bundle and authorises (or declines) referral, recording the decision and rationale in the audit log.
- 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.
- 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.
- 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.
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/ |
14. Takedown & Legal Requests
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.