# Working templates

Copy these into a private per-target workspace. They are records, not executable authorization policies. Use the program's required report fields where they differ. Store credentials separately; the records use identity references and redacted evidence paths.

## Scope record

```yaml
program:
  name: example-program
  policy_url: https://example.com/security/policy
  policy_checked_at: YYYY-MM-DDTHH:MM:SSZ
  policy_snapshot_sha256: REPLACE_WITH_ACTUAL_HASH
  intake_status: needs_review
  participation: public_or_invited
  enrollment_verified: false
  reward_eligibility: unknown
  disclosure_terms_reference: REPLACE

asset:
  kind: exact_url
  identifier: https://app.example.com:443/api/v1/export
  repository_commit_or_artifact_hash: null
  environment: designated_test_tenant
  ownership_evidence: REPLACE
  included_by: REPLACE_WITH_EXACT_POLICY_RULE
  exclusions_reviewed: false
  third_party_dependencies: []

activity:
  intended_method: controlled_authorization_comparison
  permitted_methods_reference: REPLACE
  identities: [owned_tenant_a_member, owned_tenant_b_member]
  data: synthetic_canaries_only
  rate_limit_from_policy: null
  internal_request_budget: null
  concurrency_limit_from_policy: null
  callback_destinations: []
  redirects_require_revalidation: true
  test_window: null
  stop_conditions: [scope_change, service_degradation, unexpected_sensitive_data]

decision:
  status: needs_review
  reason: no_active_testing_until_completed
  approved_actions: []
  reviewed_by: REPLACE
  recheck_on: [new_session, policy_change, ownership_change, new_destination]
```

Null limits and an empty approval list mean **unresolved**, not unlimited. A scope engine needs explicit logic for every asset type; this template deliberately does not pretend that a YAML list is sufficient enforcement.

## Hypothesis card

```text
ID:
Asset and version:
Policy/action reference:
Starting actor and controlled input:
Legitimate workflow:
Expected security invariant:
Suspected missing guard:
Test fixture and reset:
Baseline successful operation:
Baseline prohibited operation:
Smallest proposed test:
Expected evidence if true:
Evidence that would disprove it:
Request/time/cost budget:
Stop condition:
Actual observations:
Demonstrated impact:
Unproven implications:
Status:
Next action:
```

## Coverage record

```csv
asset,version,entry_point,actor,resource_owner,action,state,boundary,status,evidence,limitation
local-fixture,COMMIT,/exports,tenant_a_member,tenant_b,read,private,tenant,untested,,awaiting_baseline
```

Use `untested`, `passed`, `finding`, `blocked`, or `not_applicable`. “Passed” means a specific test did not break the expected rule under recorded conditions. It is not a claim that the entire feature is secure. For client and hardware targets, replace endpoint-oriented columns with the relevant IPC method, parser entry point, physical interface, or update stage.

Include stable references when using the manual as a reusable testing system:

```yaml
coverage_item:
  id: COV-001
  module_ids: [authz-matrix]
  vulnerability_family_ids: [bola-controlled-object-access]
  asset_ref: exact-approved-asset
  entry_point: POST_/exports
  boundary: tenant_and_document_ownership
  baseline_evidence: evidence/baseline-redacted.txt
  negative_control_evidence: evidence/control-redacted.txt
  result: untested
  observed_at: null
  tool_and_config_ref: null
  limitations: [worker_retrieval_not_yet_tested]
  next_action: observe_the_export_worker_under_two_owned_tenants
```

`module_ids` and vulnerability-family IDs are navigation references, not proof of test execution or final CWE classification. Record the assessed root cause and any conditional ATT&CK behavior separately after validation.

## Retest matrix

```csv
finding_ref,fixed_version,case,expected,actual,evidence,status
REPORT-001,FIXED_COMMIT,original_reproduction,deny_without_side_effect,,,untested
REPORT-001,FIXED_COMMIT,legitimate_control,allowed_operation_still_works,,,untested
REPORT-001,FIXED_COMMIT,shared_guard_variant,record_intended_rule,,,untested
REPORT-001,FIXED_COMMIT,queued_or_cached_result,record_lifecycle_semantics,,,untested
```

Keep the vulnerable and fixed environment manifests. Record whether a result depends on token renewal, a cache reset, delayed job completion, a client restart, or a newly issued artifact. Use `not_applicable` with a reason when a listed case has no corresponding surface.

## Normalized evidence record

```json
{
  "record_type": "observation",
  "schema_version": 1,
  "program_ref": "private-local-reference",
  "asset_ref": "exact-approved-asset",
  "policy_snapshot_ref": "policy-sha256",
  "hypothesis_id": "H-001",
  "observed_at": "YYYY-MM-DDTHH:MM:SSZ",
  "tool": {"name": "manual", "version": "record_actual_version"},
  "environment": {"build": "actual-build", "principal_ref": "test-a"},
  "evidence": [{"path": "evidence/redacted-response.txt", "sha256": "actual-hash"}],
  "outcome": "needs-validation",
  "demonstrated_impact": null,
  "limitations": ["not_reproduced_after_reset"],
  "confidentiality": "program-private"
}
```

Keep raw tool output and the normalized observation together. Do not discard stderr, request ordering, source path, or configuration needed to explain a result. Deduplicate on root cause and affected boundary; a shared scanner rule ID alone is not a sound duplicate key.

## Reproducible report

```text
Title
[Starting actor] can [unauthorized action] on [resource] through [root cause]

Summary
Describe the actual boundary violation and demonstrated consequence in 2–4 sentences.

Affected asset and versions
Exact URL/repo/package/app/contract/device identity, tested release/commit/hash.
Separate tested affected versions from inferred ranges.

Preconditions
Starting account/role, owned tenants/data, supported configuration, build and setup.

Steps to reproduce
1. Reset/setup the controlled fixture.
2. Establish the normal successful and denied behaviors.
3. Perform the minimal candidate operation.
4. Verify the resulting synthetic data or state.

Expected behavior
The documented or clearly intended security invariant.

Actual behavior
The observed result, with evidence references and relevant timestamps.

Impact
What the attacker demonstrably gains; clearly label additional inferred consequences.

Evidence
Minimal requests/inputs, responses/state, logs, artifact hashes, source path and PoC.
Redact tokens and irrelevant private data.

Severity
Required program rubric; CVSS version/vector if applicable; assumptions explained.

Root cause and remediation suggestion
Relevant guard or trust decision; a focused correction where known.

Cleanup and disclosure
Actions taken, test records remaining, confidential coordination preferences.
```

## OSS lab manifest

```text
Repository URL:
Source commit and tag:
Product edition:
Artifact/image digest:
OS/architecture/runtime:
Dependency lockfile hash:
Build command and trusted toolchain versions:
Network access required during setup:
Configuration delta from documented default:
Test users and synthetic objects:
Reachable public interface:
Exact local reproduction:
Expected and observed result:
Reset and teardown:
Affected/fixed version evidence:
```

## AI trial record

```text
Product/model/runtime version:
Legitimate user task:
Attacker-controlled surface:
Private synthetic marker location:
Confirmation that marker is absent from attacker input:
Caller identity and available tools:
Applicable tool permissions and approval requirement:
Prompt/input and retrieved artifact hashes:
Sampling settings and session reset:
Baseline trials:
Candidate trials:
Successful boundary violations / total trials:
Actual retrieval/tool audit event:
Attacker-visible result:
Unproven broader impact:
```

## Web3 and device addenda

| Web3 report fields | Hardware/device report fields |
|---|---|
| Chain ID, deployed and implementation addresses | Model, board revision, firmware/build, artifact hash |
| Pinned fork block and corresponding source commit | Physical access and starting privilege |
| Accepted impact category and invariant | Interface and documented trust expectation |
| Controlled principals and setup transactions | Lab wiring, voltage assumptions, isolation and recovery |
| Before/after balances or other state | Before/after state, trace or captured local output |
| Deterministic runnable local test | Repeatable non-destructive reproduction |
| Economic/liquidity/oracle assumptions | Limitations of emulation or modified/debug firmware |

## End-of-session note

```text
Resolved today:
Best remaining hypothesis:
Exact next file/function/request:
Access or policy blocker:
Evidence saved:
Cleanup due:
Reason to continue or rotate:
```
