Manav.id
Compliance · 5 min read

Five ways approval controls collapse, and how to tell them apart

Five ways approval controls collapse, and how to tell them apart

A crypto custody loss, a payroll diversion and a production database deletion look like unrelated incidents. Structurally they are the same handful of defects, appearing in different vocabularies.

What are the five ways approval controls collapse?

Consent decay, where the approved object changed afterwards. Consent evasion, where the path was routed around. Consent absence by configuration, where no approval was ever required. Provenance collapse, where an approval exists but cannot be tied to a person. And post-hoc misreporting, where the record describes something that did not happen.

Key takeaways
  • Approval failures cluster into five defects: decay, evasion, absence by configuration, provenance collapse and post-hoc misreporting.
  • Each has a distinct signature and a distinct remedy, so misclassifying an incident produces the wrong fix.
  • Most organisations can locate their own controls in this taxonomy in an afternoon.

The five defects

Consent decayrecord ≠ executed objectConsent evasionclean record, loss anywayAbsence by configurationno record expectedProvenance collapsenames an accountPost-hoc misreportingclean record, contradicted
Misclassifying an incident produces the wrong fix, and the same failure recurs.
DefectOne-line description
Consent decayA human approved something, but the thing changed afterwards
Consent evasionThe approval path was routed around, not broken
Consent absence by configurationNo approval was ever required; the control was off
Provenance collapseAn approval exists but cannot be tied to a specific person
Post-hoc misreportingThe record describes something other than what occurred

They are not mutually exclusive — a serious incident often involves two or three — but the primary defect determines the remedy.

The approval was real and the object it covered changed between approval and execution.

Signature: the approval record and the executed object differ. Remedy: bind the approval to a digest of the object and recompute at execution, refusing on mismatch.

The control exists, functions, and was not involved.

Signature: the control has a clean record and the loss occurred anyway. Remedy: enforce at the point of effect rather than at an interface, and treat every exemption as a finding.

No approval was required, and usually nobody knew.

Signature: no approval record exists and nobody expected one to. Remedy: inventory consequential actions and verify empirically which ones actually require approval — by attempting them, not by reading policy.

Provenance collapse

Something approved it. Establishing who is impossible.

Signature: the record names an account, and the investigation cannot get past it. Remedy: bind approvals to individual credentials and eliminate shared interactive accounts.

Post-hoc misreporting

The record exists, is internally consistent, and describes something that did not happen.

Signature: the record is clean and contradicted by other evidence. Remedy: generate evidence as a by-product of the control operating, signed at the moment, not compiled later.

Using the taxonomy

Two applications, both cheap.

  1. On your own controls. For each consequential action, ask which of the five it is currently vulnerable to. Most organisations find they are exposed to three or more.
  2. On incidents. Classify by primary defect before choosing a remedy. An incident of evasion treated as decay produces a payload-binding fix that changes nothing.

The second is where the taxonomy earns its keep. Misclassification is common because the narrative of an incident emphasises what was unusual about it, and the structural defect is usually the unremarkable part.

Applying it to your own controls

Two uses, both cheap. On your controls: for each consequential action, ask which of the five it is currently vulnerable to. Most organisations find they are exposed to three or more. On incidents: classify by primary defect before choosing a remedy.

Signature and remedy per defect
DefectSignatureRemedy
DecayApproval record and executed object differBind to a digest, recompute at execution
EvasionClean record, loss occurred anywayEnforce at the point of effect; treat exemptions as findings
AbsenceNo record, and none expectedInventory consequential actions; test empirically, not by reading policy
Provenance collapseRecord names an accountBind to individual credentials; remove shared interactive accounts
MisreportingClean record, contradicted by other evidenceGenerate evidence as a by-product of the control, signed at the moment

Objections and honest limits

“Our incidents do not fit these.” Serious incidents usually involve two or three at once. The primary defect is the one that determines the remedy, and it is usually the unremarkable part of the narrative.

“We can just read our policies.” Absence by configuration is only visible empirically. Attempt a consequential action and observe whether approval is actually required.

Coding an incident against the taxonomy

A taxonomy is only a dataset if incidents are recorded the same way each time. Seven fields are enough, and the discipline is that the defect is assigned from the evidence rather than from the narrative in the press coverage.

Incident record schema
FieldContents
defectOne of the five: decay, evasion, absence, provenance, misreporting
surfaceWhere the approval was supposed to happen
actorInsider, outsider, agent, or configuration
evidence_availableWhat the organisation could actually produce afterwards
detection_lagTime from the act to anyone noticing
secondary_defectThe second defect, where one masked another
sourceRegulatory filing, court record, or disclosure — with a citation

Worked codings

Three generic patterns, coded the way the schema intends. None is a specific named incident — these are the shapes that recur, and the point is to show how the fields resolve an argument about which defect applies.

Pattern codings
Patterndefectsecondary_defectWhy
A departed employee's credential is used for a bulk exportdecayprovenanceAuthority outlived the relationship; nothing tied the act to a person
An agent executes a destructive command with approvals disabledabsencemisreportingThe gate was configured away; the record produced afterwards was assembled, not captured
A treasurer approves a payment after a spoofed instructionevasionprovenanceThe control was routed around, and the approval evidence was a chat message

Notice that provenance appears as a secondary defect in two of the three. That is the pattern worth taking from any archive of these: the primary defect explains how the act happened, and the provenance defect explains why nobody could prove anything afterwards.

When you code your own near-misses this way, the useful output is not the count by defect. It is the evidence_available column, because it is the same answer every time and it is the one you can change before the next incident.

A half-day self-assessment

  1. List consequential actions. Money movement, permission change, bulk export, destructive operations, credential issuance.
  2. For each, attempt it. Reading policy does not reveal absence by configuration.
  3. Check what the record names. An account, or a person.
  4. Check what the record covers. A reference, or the object that executed.
  5. Check who wrote the record. The control, or the system asking to be trusted.

Terms used here

Consent decay
A real approval whose object changed between approval and execution.
Consent evasion
A functioning control that was simply not involved, usually via an emergency path, a direct API call or an exemption.
Provenance collapse
An approval that exists but cannot be attributed to a natural person, typically because it names a shared or service account.

Frequently asked questions

Are the five defects mutually exclusive? No. Serious incidents often involve two or three. The primary defect is what determines the remedy.

How do you tell decay from evasion? In decay the approval record and the executed object differ. In evasion the record is clean and the control was simply not involved.

What is the cheapest thing to check? Configuration absence — attempt a consequential action and see whether approval is actually required. Reading policy does not answer it.

Why does misclassification matter? An evasion incident treated as decay produces a payload-binding fix that changes nothing, and the same failure recurs.

Why record a secondary defect? Because one defect usually masks another — typically a provenance failure that made the primary defect unprovable afterwards.

What is the most useful field? evidence_available. It reads the same across almost every incident, and it is the one you can change in advance.

Where this fits in Manav

Manav addresses four of the five directly: binding closes decay, point-of-effect enforcement closes evasion, per-person credentials close provenance collapse, and evidence generated by the control closes misreporting. Absence by configuration is an inventory problem you have to do yourself.

See the primitives →

Sources and further reading