Dome Systems

Guide

Roll out default-deny without learning permissions from outages

A team turns on default-deny, watches legitimate requests fail, and adds permits until the errors stop. That process can restore a demo while producing a policy no one can explain.

Before the rollout, write down what should work and what should be refused. A quiet denial counter isn't enough: a broad permit can make the errors disappear while allowing work the team never approved.

Define a small first release

Consider a hypothetical reporting agent. Its first production scope is to read approved reporting data and generate a summary. It must not modify records, export unrelated datasets, or use an unapproved model route.

Dome's authorization model is default-deny: a request needs a matching permit and no matching forbid. It has no permissive or audit-only rules mode. Plan the rollout around simulation and a bounded test environment rather than promising a transparent observation mode.

The authorization foundation covers the shared mechanics. The operating question here is how to introduce that boundary without improvising authority during an outage.

Before deployment: write the expected workload

List the exact operations the first release requires. Include rare but legitimate cases, such as a monthly report that does not appear in yesterday's traffic.

Pair each positive case with a neighboring negative case. The report read should work; a write through the same backend should fail. An approved dataset should be available; another team's dataset should not become available because both use the same query tool.

Name who can approve a change to those expectations. An application developer can explain a failed workflow without necessarily having authority to widen its production access.

Test all the rules that will apply

Inspect all applicable rules, including generated agent access and broader-scope bundles. A narrow new permit does not narrow an existing broad permit. A higher-scope forbid is not overridden by an agent-level allowance.

Use simulation to check the expected cases against the intended policy. Then exercise the real identity and request path in a controlled environment. Simulation can answer a rule decision without performing the action; it cannot establish that the deployed application's credentials, endpoints, and backend behavior are correct.

Don't release until the required calls work and the prohibited calls fail where you expect. Investigate results you can't explain.

Start with one workload

Choose a workload, environment, or agent population whose impact can be contained. Record the prior configuration and the approved recovery action before changing it.

Observe service completion alongside authorization outcomes. A lower denial rate can mean a fixed integration or an accidentally widened permit. A higher denial rate can mean a correct new boundary or a broken identity path.

Do not automatically convert denied requests into permits. Triage them:

Observed conditionFirst response
Intended operation lacks a permitCompare with the approved workload; propose a narrow change if justified
Unexpected operation is deniedKeep the boundary; investigate why the application requested it
Required identity or context is missingRepair the producer or mapping rather than bypassing the requirement
Evaluation or policy freshness failsRestore the control's health; do not classify it as a business-policy rejection
Backend fails after authorizationInvestigate execution, not access

Prepare the rollback before changing access

If the new policy breaks required work, compare the failure with the prepared rollback criteria. Reverting a bundle may be appropriate; granting broad access to make the dashboard green is a different decision.

Policy changes reach the gateway through synchronization, so verify the observed decision after recovery rather than assuming a successful management operation instantly changed every request.

Keep the failed case in the test set. Otherwise, the same rare operation will become an emergency again at the next release.

Keep the tests with the release

Save the deployed policy, test results, unresolved exceptions, and the person responsible for the next review. Remove temporary setup permissions that are no longer part of the approved workload.

Start with the reporting agent's smallest useful scope, then expand it through the same procedure. Add a permission because the workload needs it and the owner approves it, not simply because a request failed.

Published

October 23, 2026

Tu Nguyen

authorizationdefault-deny
All blog posts