Evaluation is a pure function of the policy set and the context. The same context always produces the same requirements, which is what lets the result stand as an audit record rather than an opinion — a decision can be re-derived later from the rules as they stood.
How conditions match
- An empty condition list is a wildcard for that dimension.
- Within a dimension, values are OR-ed; across dimensions they are AND-ed. A policy naming two channels and one vertical fires on either channel, but only inside that vertical.
- Claim types match on any overlap, since a piece may carry several at once.
Effects
Strongest first:block, require_review, require_disclosure, advisory. A context that trips both a blocking rule and an advisory one is blocked — and the advisory still appears in the result, so a reviewer sees everything that fired rather than only the decisive rule.
Requirements from every applying policy are merged. Reviewer roles and disclosures are unioned; the strictest evidence floor wins, because a rule asking for three sources is not satisfied by another asking for one.
Separate duties is a requirement any applying non-advisory policy can switch on. The asset’s author then cannot approve it, and each required review role needs a different reviewer. It is checked when a decision is recorded and again at release, so turning it on also catches approvals recorded before the policy existed.
Unknown context is not a pass
If a policy is conditioned on a dimension the caller did not supply, the rule is neither applied nor discarded. It is reported under indeterminate, naming the fields that were missing. Failing open here would drop a required legal review because a channel field was blank, and it would do so silently. Failing closed would demand reviews nobody can explain. Reporting it is the only honest option, and it tells you exactly which field to fill in. Disabled policies contribute nothing — a paused rule cannot supply a requirement or a block.Policy layers and overrides
Policies resolve from broadest to narrowest: account, domain, organization, then case. All applicable layers contribute by default. A narrower policy replaces a broader rule only when it names that rule as an explicit override. Account-level blocking policies are protected safety rules and cannot be overridden. Invalid override direction and protected-block attempts are reported as conflicts and hold release rather than silently choosing a winner. Domain policies match the exact destination host. Organization policies are available only to active workspace members, and case policies are bound to the case owner and the case’s release history.Versions, retirement, and rollback
Every create, edit, enable/disable change, retirement, and rollback writes an immutable policy version with its exact snapshot and hash. Deleting a policy in the product retires its current projection; it does not erase prior versions. Rollback copies a selected historical snapshot into a new current version. It never rewrites or removes the versions between them.Evaluating and simulating
The evaluate view runs a publication context against every enabled rule and reports what applied, what was explicitly overridden, any conflicts, what could not be settled, and the merged requirements. A candidate policy can be simulated before it is saved against a supplied context or up to 50 authorized case and historical release contexts. Simulation reports the baseline, proposed result, and decision, block, requirement, and conflict deltas.Enabled policies are re-resolved by the release guard before every publishing adapter attempt, including retries and scheduled sends. Their requirements are unioned with the pipeline’s vertical and template approval requirements. A successful check creates an immutable release authorization manifest tied to the exact artifact, destinations, policy versions, evidence, and approvals. A Block effect, a missing required disclosure, an unmet reviewer requirement, too few checked sources, or missing policy context stops the release. Evaluate and Simulate here are dry runs of the same rules and record nothing.
Review Queue
Where a required review is carried out.
Localization
Disclosures a market variant must carry.