# Scope ## One-liner `whitehat-security` is NetKingdom's authorization-bound harness for adversarial evidence. It can calibrate probes offline. It can admit a live run only when a complete engagement record already exists. No live target is authorized. ## What it can do - Calibrate E2 differential probes in process, including an audit-core-shaped pack. `whitehat fixtures` fails a known-bad fixture before it trusts a known-good pass. It sends no packet. - Calibrate E3 row-level-security outcomes in process, including the SQL-compromise case that stays `inconclusive`. `whitehat e3-fixtures` opens no database. - Calibrate E4 credential confinement and R4 erasure recovery in process. `whitehat e4-fixtures` and `whitehat r4-fixtures` project no credential, open no store, and are not target assurance. No live E4 or R4 target is registered. Tenancy Posture §13 classifies the live E4 artifact as Mechanical. The fixture does not perform that demonstration. - Judge a supplied V2, V3, or V4 observation in process. `whitehat v-fixtures` injects no failure and makes no cluster call. A pass is a complete observation shape. V1 stays inconclusive because it is a mechanical exercise of the declaring service. - Calibrate P1/P2 capacity judgments from supplied samples. `whitehat capacity-fixture` generates no load. - Calibrate Active Secrets Management Canon T-01 through T-10 in process. `whitehat asm-fixtures` sends no packet. The T-06 fixture counts simulated custody calls; it is not an OpenBao client. - Validate engagement records, target registrations, and probe packs, and refuse plane admission unless the target is applicable, the approval class matches, the kill switch is clear, and the engagement is inside its window. - Render a value-safe run message and queue it as a local outbox file. `whitehat deliver` does not file the message in `risk-nexus` and does not assign severity. - Render a Gate House conformance envelope. `whitehat conformance-message` does not send it. - Review a sealed Emergent knowledge package offline with `tools/offline_emergent_knowledge_review.py`. That tool does not call a provider and does not re-pin `informed-decision`. - Keep an `audit-core` E2 runner that can send HTTP only from an admitted plane pod. The dated engagements that used it are terminal. ## What it cannot do - Run on a schedule. `whitehat cadence` lists every family with `scheduled: false`. The E3 interval of 24 hours is a declared detection window, not an operating timer. - Send a packet, open a database connection, generate load, or lease a live credential under the current records. `WHITEHAT-WP-0006` and `WHITEHAT-WP-0008` stay blocked on owner returns. - Treat a fixture pass, or the terminal audit-core E2 pass, as proof that a boundary holds. - File findings, grade severity, disclose them, or fix a target. - Hold an OpenBao client, a database driver, or a cluster-mutation API. - Produce E4 or R4 evidence about a real substrate. Those families stop at the in-process harness. - Produce identity or authorization evidence. Tenancy Posture §13 classifies I2, I3, A2, A3, and A4 as Mechanical, and that evidence belongs in the declaring service's CI. This repository has no I or A probe. - Inject a failure, or produce live V2, V3, or V4 evidence. The in-process judge only checks a supplied observation. A restart is not V2. - Admit `tenant-engine` for E2 or `platform-pg` for E3. Both are `not_applicable`. ## Out of scope - Fixing defects in target repositories. - Assigning severity, disclosure policy, or remediation deadlines. - Replacing mechanical checks owned by a target repository's CI. - Defining the estate's security model or publishing permanent policy. - Probing any target without the authorization and engagement records required by [the rules of engagement](docs/rules-of-engagement.md). - Blocking build-mode delivery without a separately recorded decision. - Turning the local outbox into a `risk-nexus` writer. ## Safety invariants - The rules of engagement are accepted, but their acceptance authorizes no live target. Without a complete approved engagement record, only documentation and non-networked fixture design may proceed. - No live target is authorized by this scope document. - Every live run names its authorization, target, owner, window, technique, credential lane, rate ceiling, abort contact, and finding destination. - A probe stops at the recorded boundary and never follows an adjacent system. - Evidence records response shape and counts, never real tenant row values or credentials. - Findings leave this repository; repairs do not enter it. - A probe is trusted only after it has failed a known-bad fixture. ## Relevant when - A service claims a Tenancy Posture evidence level that requires adversarial rather than mechanical evidence, and an engagement record for that service already exists or the work is an offline fixture. - The estate needs the attacker model, the last dated run, and whether the harness has been shown to fail when the control is absent. ## Not relevant when - A repository needs unit, schema, or provisioning tests for its own code. - A finding needs triage, severity, or disclosure handling; use `risk-nexus`. - Permanent policy needs publication; use `policy-nexus`. - The desired activity is a live probe and no complete engagement exists. ## Current state - Repository status: active. - Layer: Staff (declared in `INTENT.md`, 2026-09-01). `conformance_state` stays `blocked-clean`. `WHITEHAT-IN-0001` is closed. - The capability statement above is the 2026-10-04 scope assessment. The comparison against `INTENT.md` is [`history/2026-10-04T0649Z-scope-against-intent.md`](history/2026-10-04T0649Z-scope-against-intent.md). `WHITEHAT-WP-0011` added the E4 and R4 calibrations and the cadence register. It authorizes no packet. - `WHITEHAT-WP-0012` records that I and A evidence is mechanical and adds the offline V observation judge. Live E4, live R4, and a live V2–V4 exercise stay `wait` on an owner or operator this repository cannot name. The plan stays `blocked`. It does not add a `risk-nexus` writer and it does not change `conformance_state`. It authorizes no packet and no failure injection. - Finished: `WHITEHAT-WP-0001` through `WHITEHAT-WP-0005`, `WHITEHAT-WP-0007`, `WHITEHAT-WP-0009`, `WHITEHAT-WP-0010`, and `WHITEHAT-WP-0011`. - Residual live Tenancy Posture evidence is `WHITEHAT-WP-0006`. Residual live ASM is `WHITEHAT-WP-0008`. Both stay `blocked` after the 2026-10-04 owner returns. T01 still waits on `rapp-postgres` for an ordinary runtime identity. T02 still waits on an operator substrate window. T03 still waits on `access-engine` or a new `audit-core` engagement ID. Live ASM still waits on a surface owner, with T-06 on `approval-engine` and a consuming PEP. No packet is authorized. - `WHITEHAT-WP-0007` triaged Gate House ASM T-01…T-10. Live `asm-tNN` registrations remain `pending`. In-process `fixture-asm-t01`…`t10` calibrations exist. That work authorized no live probe. - `WHITEHAT-WP-0001` T01–T08 are complete for every applicable target. `audit-core` has dated E2 pass `WH-ENG-20260822-AUDIT-E2-03`. `tenant-engine` E2 and `platform-pg` E3 stay `not_applicable`. `flex-auth` E2 and `shared-substrate` P1/P2 stay `pending`. Offline E2, E3, E4, R4, and P1/P2 harnesses fail known-bad and pass known-good in process. - `-01`, `-02`, and `-03` are terminal. A later live run needs a new engagement ID, plane admission, and the approvals required by the rules of engagement. `WHITEHAT-WP-0006` owns that work and authorizes no packet. - `WHITEHAT-WP-0009` is finished. The 0.2.1 record shows WH-KNOW-001 and WH-KNOW-002. A local 0.2.3 retest did not reproduce them. `risk-nexus` holds open RISK-F-0013, RISK-F-0014, and RISK-F-0015. `emergent-security` commit `19e7feb` accepts the scoped review and the two library remediations, and leaves provider evidence and the `informed-decision` pin reconciliation in blocked EMERGENT-WP-0002. This plan authorizes no packet. - `WHITEHAT-WP-0010` is finished. It dispositions sealed knowledge 0.2.6, digest `8d1d6a9d`, commit `f65d0e64`, from offline probes and the recorded 28-case corpus. It finds no unsafe effect and both named RISK-F-0015 routes on the fixture tokens. It does not close that finding, accept EMERGENT-WP-0002-T07, or re-pin `informed-decision`. On 2026-10-04 `emergent-security` commit `9f4530b` accepted only that bounded review gate, and `risk-nexus` commit `e1f006b` recorded the observation. RISK-F-0015 stays open. It authorizes no packet. ## Relationships - Owner and security canon: `net-kingdom`. - Finding intake, severity, and disclosure: `risk-nexus`. - Permanent publication: `policy-nexus`. - Initial proposed target owners: `tenant-engine`, `audit-core`, and `flex-auth`. ## Getting oriented 1. Read [`INTENT.md`](INTENT.md) for the durable purpose and ownership model. 2. Read [the rules of engagement](docs/rules-of-engagement.md) before any probe design or execution. 3. Read [`history/2026-10-04T0649Z-scope-against-intent.md`](history/2026-10-04T0649Z-scope-against-intent.md) for the capability gaps against that intent. 4. Read [`WHITEHAT-WP-0001`](workplans/WHITEHAT-WP-0001-cross-tenant-evidence.md) for the finished applicable-target artifacts, [`WHITEHAT-WP-0006`](workplans/WHITEHAT-WP-0006-authorized-live-residuals.md) for unauthorized live Tenancy Posture residuals, [`WHITEHAT-WP-0007`](workplans/WHITEHAT-WP-0007-asm-t01-t10-triage.md) for finished ASM T-01…T-10 triage, [`WHITEHAT-WP-0008`](workplans/WHITEHAT-WP-0008-live-asm-residuals.md) for unauthorized live ASM residuals, and [`WHITEHAT-WP-0011`](workplans/WHITEHAT-WP-0011-scope-capability-gaps.md) for the offline E4, R4, and cadence work, and [`WHITEHAT-WP-0012`](workplans/WHITEHAT-WP-0012-ia-classification-and-v-observations.md) for the I/A classification, the offline V judge, and the blocked live E4, R4, and V requirements.