Dome Systems

Guide

Trace an authorization decision across inherited rules

An agent-scoped permit is present, but the call is denied. Editing that permit repeatedly will not help if a matching forbid is active at organization scope.

Dome evaluates the rules that cover the agent as one effective set. Scope decides which bundles participate; a narrower scope does not give a permit extra weight. Trace the contributing rules before changing one of them.

Why is this export still denied?

The following example is illustrative policy logic, not deployable rule syntax. A support agent attempts a bulk export.

ScopeRelevant contributionEffect on this request
OrganizationForbid bulk customer exportMatches: denies
TenantPermit approved support operationsMay match: cannot defeat a forbid
WorkspacePermit calls to the support serviceMatches broadly: still cannot defeat a forbid
AgentPermit this export for the named agentMatches specifically: still cannot defeat a forbid

The call is denied. Naming this agent more specifically doesn't override the organization forbid.

Now remove the organization forbid in a controlled candidate and keep the broad workspace permit. A narrow agent permit for ticket reads does not remove the workspace's broader allowance. This explains the opposite surprise: adding a more precise permit did not actually tighten the boundary.

The rules concept describes the participating bundles and evaluation semantics. Preserve the distinction between adding an allowance and constraining an existing allowance.

Look beyond hand-written rules

Effective rules include more than manually authored files. Dome also generates bundles from managed configuration such as allowed resources, act-as settings, and blocked tools. Those contributions can explain a result that is not visible in the file an author was editing.

Change a generated contribution through the feature that owns it. Do not treat a generated bundle as a hand-maintained policy file or roll it back independently of its owning configuration.

Use a diagnosis worksheet:

ItemRecord before editing
Request identityAgent, represented-user context if applicable, and addressed scope
OperationAction and resource actually evaluated
Contributing policyActive user-authored and generated bundles at applicable scopes
Expected conditionThe rule/attribute relationship the owner intended
Observed resultVerdict, relevant rule errors, and available deciding-rule provenance
Proposed ownerThe scope or configuration feature that must actually change
VerificationCandidate test and post-change runtime evidence

Keep the full worksheet with the incident. A screenshot of the agent's permit leaves out the other rules that may explain the denial.

Check which version the gateway used

An accepted management change and a request using that change are different observations. The gateway polls for effective-policy changes; the authorization model describes synchronization and fail-closed freshness behavior.

If the decision evidence points to an earlier effective version, investigate propagation before rewriting the policy. If a control refuses because policy is stale or missing, do not describe that as a matching business forbid unless the record supports it.

Save the old and new policy identifiers. Otherwise, you may credit an edit for a passing test that actually used a different version.

Change the contributing source, then retest

  1. Reproduce the surprising decision with the intended inputs.
  2. Identify all applicable contributions.
  3. Explain the result using permit/forbid semantics.
  4. Change the responsible user-authored bundle or managed configuration feature.
  5. Evaluate the intended candidate using the policy test matrix.
  6. Verify the expected effective version and protected neighboring cases on the controlled live path.

If the retained events lack the tool arguments or represented identity needed for a decision, add synthetic cases with those inputs. Historical replay alone cannot cover them.

For a broader tightening project, agree on the intended default-deny behavior and keep the candidate changes, test results, and rollout approval together. For this incident, start by identifying the rule or setting responsible for the surprising decision.

Published

October 19, 2026

Preska Sharma

rulesauthorizationtroubleshooting
All blog posts