Skip to content

Threat model

The most valuable assets are tenant isolation, legal/configuration integrity, consent/rights proof, incident clocks, connector authority, evidence, customer keys and the ability to act during a deadline. Threat actors include external attackers, malicious Principals, compromised tenant admins, insiders/support, supply-chain attackers and compromised customer systems.

Public portal/API; tenant console; support plane; application/workers; database/object/evidence; KMS/secrets; customer connector agent; customer systems; notification/provider and authority interfaces; build/release pipeline.

flowchart LR
  A[External attacker] --> P[Public portal / API]
  U[Principal] --> P
  TA[Tenant admin] --> C[Tenant console]
  S[Support operator] --> SP[Support plane]
  P --> APP[Application services]
  C --> APP
  SP --> APP
  APP --> DB[(Tenant data)]
  APP --> EV[(Evidence store)]
  APP --> KMS[KMS / secrets]
  APP --> AG[Customer connector agent]
  AG --> CS[Customer systems]
  APP --> NP[Notification / authority interfaces]
  SC[Supply-chain attacker] --> CI[Build / release pipeline]
  CI --> APP

Trust is re-established at every arrow through identity, tenant scope, purpose/capability, message integrity, freshness and audit. Being inside a customer network or cluster is not sufficient trust.

Threat / STRIDEAttackPrevent/detect/respond
cross-tenant access / E,Ialter tenant ID/object path/cache keyserver-derived tenant, composite keys/RLS, scoped object/queue, negative tests, anomaly alert
Principal impersonation / S,Ienumerate account, steal OTP/session, forge representativenon-enumerating response, risk-based step-up, rate/device signals, manual checker, session binding
malicious tenant admin / E,Tmass export, backdate consent, release holdgranular roles, step-up, maker-checker, append-only original timestamps, export limits/alerts
forged consent / S,T,Rclient submits false action/noticeapproved version, channel proof, idempotency, signed SDK context, immutable linked receipt, dispute workflow
replayed withdrawal/webhook / Tduplicate/stale signed requesttimestamp window, unique delivery/event ID, nonce/idempotency, aggregate sequence
connector compromise / S,T,I,Earbitrary query, exfiltrate secrets/PIIsigned capability package/instruction, no arbitrary code, egress allow-list, sandbox, short tokens, revoke/attest
insider/support / I,Rbrowse cases or evidenceJIT scoped support grant, customer approval, session recording metadata, dual control, honey/audit alert
evidence tampering / T,Redit/delete audit or replace artefactappend-only events, hash chain, KMS-signed roots, WORM export, verification
deletion evasion / T,Rmark complete without deleting; restore old copydestination verification, partial certificate, backup tombstones, restore test, independent sample
notification suppression / T,Dclose clock, disable channel, hide populationimmutable awareness/clock, separate approver, deadline alerts, delivery reconciliation, executive escalation
mass export / I,Dabuse rights/audit exportscoped query, row/size caps, two-person + step-up, watermark/manifest, async monitored job
supply chain / T,Ecompromised dependency/image/connectorpinned lock, review, SAST/SCA/secret/IaC/container scans, SBOM, provenance/signature, isolated build
support impersonation / Sfake support obtains credentials/evidenceno secret request policy, verified in-product support, phishing-resistant MFA, customer callback
child/guardian fraud / S,Ifalse parent or account takeoverrelationship assurance ladder, change/expiry review, conflict handling, minimal evidence
deadline availability / DDDoS/ransomware during six/72-hour clockmulti-region/tier resilience, offline runbook/templates/contacts, WAF/rate limit, manual authority fallback
legal-config compromise / Tactivate fake source or country rulesigned reviewed bundles, maintainer/reviewer separation, customer activation, transparency diff
inference from metadata / Iuse subject/consent graph for profilingpurpose-bound access, pseudonymous refs, aggregation thresholds, no unrelated telemetry/ads
  • A customer searches every rights case to identify activists or complainants.
  • A provider mines consent/withdrawal rates for unrelated sales scoring.
  • An employer enables a generic connector to infer productivity.
  • Support copies incident/health evidence to a ticket or AI assistant.
  • A “legal hold” is created broadly to avoid deletion.
  • Identity assurance accumulates Aadhaar/PAN documents beyond the result.
  • Child mode is bypassed through an analytics subdomain or mobile SDK.

Mitigations combine product non-goals, purpose/role policy, approval, PII budgets, audit review and contract. Controls are tested against the abuse, not merely documented.

Request → preview count/categories → policy and entitlement → step-up → checker → async scoped generation → encrypted expiring package → recipient verification → download limit → manifest/audit.

Declared incident and reason → phishing-resistant authentication → time-limited least scope → immediate alert → session/action audit → automatic revoke → post-use review within one business day. Break glass cannot disable audit.

Signed exact instruction → policy/expiry/replay check → deterministic selection preview/count → approved execution → verification query → digest/outcome → reconciliation. No arbitrary SQL from the control plane.

  • mutate tenant/resource identifiers across every transport and background job;
  • replay signed webhook/agent instruction inside and outside skew window;
  • race two resource versions and confirm one conflict;
  • inject Mermaid/Markdown, CSV formulas, SQL/NoSQL, template and log payloads;
  • exfiltrate through connector error, trace, dead letter and support export;
  • restore backup and prove tombstone reapplication;
  • compromise notification provider and verify content/recipient limits;
  • deny control plane during incident and execute offline/manual runbook.

Threat review is quarterly and triggered by a new deployment profile, connector capability, identity method, statutory interface or major incident.