849 B
849 B
ADR-003: Policy Engine Model (ABAC)
Status
Accepted.
Context
Resolution must respect tenant scope and allow/deny rules using an attribute-based model.
Decision
Model
- Policies are stored per tenant with rule_json (ABAC attributes), effect (allow/deny), and priority.
- Tenant is enforced by restricting resolution to that tenant when request.tenant is set.
MVP Rule Shape
- Deny: rule_json.participantId or rule_json.participantIds — exclude those participants.
- Allow (restrictive): if any allow policy exists, rule_json.participantId/participantIds — only include those participants.
Ordering
- Deny applied first; then allow restriction. Policies loaded by tenant and ordered by priority.
Consequences
- Simple allow/deny by participant supported; ABAC can be extended via rule_json and filter logic.