Consent & Privacy Service  ·  View 15 of 22  ·  Runtime

Purpose Limitation — The Decision Path

Three verdicts and one rejection, and the difference between the rejection and the denial is the point of the view.

Editable source SVG draw.io All views
Asked evaluate(S, P, J) Known? Purpose registered? Reject the call not a DENY Basis Basis in J? Legitimate interest until objection Consent grant required State Cache fresh? Remote evaluate p99 40 ms Past staleness ceiling Verdict ALLOW + version DENY + reason UNKNOWN never read as ALLOW no yes yes no Purpose Limitation — The Decision Path on a Read Interface / broker Decision point Risk / gap Application we own Opportunity synchronous failure / alternate An unregistered purpose is a caller error, not a denial — answering DENY would let a typo look like a lawful refusal. v 1.0 · owner Security & Identity Architecture

Decisions

  • An unregistered purpose is a caller error, not a denial. Answering DENY would let a typo look like a lawful refusal and would hide the fact that something is processing data under a name nobody declared.
  • Consent and legitimate interest take the same path and differ only in the default: no processing before a grant, versus processing until objection. The basis is data, not a code branch per purpose.
  • Past the staleness ceiling the verdict is UNKNOWN and the purpose's registered posture applies — fail-closed unless explicitly, and rarely, declared otherwise.

Assumptions

  • Decision p50 ≤ 2 ms, p99 ≤ 10 ms on cache hit; p99 ≤ 40 ms on remote evaluation.
  • False DENY ≤ 1 in 1,000,000 decisions. Zero tolerated ALLOW for a consent withdrawn more than 15 minutes earlier.

Risks

  • A caller that treats UNKNOWN as ALLOW defeats the whole design and cannot be prevented from the platform's side. It is a contract test in the client SDK and an audited behaviour, not a guarantee.
  • The fail-open subset is a legal judgement stored in a configuration file. It is held in the registry behind two-person approval precisely because it is the most dangerous single field in the system.