US Securities Compliance

US securities examination readiness

Answers "if I generate the SEC/FINRA examination package now, what will be in it and what will it have to disclose?" WITHOUT creating a report job.

It returns COUNTS, PRESENCE and DISCLOSURES, never evidence rows. The rows come from the compliance report facade (POST /api/v1/compliance/reports with regulator=ussecurities) and only from there, so this is not a second export path.

It exists because the facade cannot answer this question: asking it means creating a job, spending one of an Evaluation tier's three daily reports, and waiting on an async render, purely to learn whether the package is worth generating.

SCOPE: the summary covers the requesting TENANCY, with two DISCLOSED exceptions rather than two silent ones (ADR-064 section 4). The RLS-gated sources - the approval queue and the signed decision chain - are additionally bounded by ORGANIZATION, because both enforce that boundary in the database. The configured supervisory controls are scoped by organization outright, because that is the scope the engine that enforces them reads them under; a tenancy-scoped inventory would publish a set of controls that is not the set being applied. The scope field states all three in one sentence.

AUTHORITY: gated on tenant-wide read authority, the same gate as the evidence and compliance exports. It returns aggregates rather than rows, but an aggregate over audit_logs still describes whole-tenant activity.

Enterprise Feature. Community builds register no route (404).

get/api/v1/ussecurities/exam-readiness

Request

Response

Examination readiness summary

tenant_idstring

The tenancy this summary covers.

window_daysinteger

The lookback the counts are taken over. One quarter, matching the sibling US modules: it is the shortest cycle any instrument in scope works to, and it bounds an unqualified read on a busy audit trail.

period_startstring date-time
period_endstring date-time
scopestring

One sentence stating the package's tenancy boundary AND its two disclosed exceptions. Every count is meaningless without it.

disclosuresstring[]

The sentences every generated artifact carries. Returned here so nothing in a package is a surprise at the point it reaches an examiner, and served from the same source the artifact renders from, so the two cannot say different things.

completeboolean

False when ANY source could not be read. A package generated while this is false carries at least one INCOMPLETE section.

fraud_risk_addon_activeboolean

Whether the Fraud and Risk Add-on's FinCrime pack was in force on at least one decision of this tenancy in the window. MEASURED from the audit trail: a decision on a scope the pack binds on records it in policy_details.policy_packs as fincrime@<digest>. The licence feature reader ADR-061 designs does not exist in the tree, and this service cannot see which packs the agent installed, so a deployment that installed the pack and made no decision in the window reads false (#4164).

It is published here because the answer changes what the financial-crime section of a generated package SAYS - disclosed absent rather than empty - and an operator deciding whether to generate should see that first.

fraud_risk_addon_decisionsinteger

The number of this tenancy's decisions in the window whose audit record names the FinCrime pack. fraud_risk_addon_active is true exactly when this is above zero.

generated_atstring date-time

Example response

{
  "window_days": 90
}

Changes

No recorded changes to this operation across all 1 revision of this API.