package policy

import _ "embed"

// ReferenceRego is a read-ACL Rego SKELETON bundled with zddc-server for
// external-OPA deployments. It models the read cascade ONLY and is NOT a
// semantic mirror of the InternalDecider: it does not implement per-verb
// authorization (write/create/delete/admin), WORM zones, roles, fences, or
// config-edit, so it is FAIL-CLOSED — every non-read action is denied except
// for an elevated admin (input.user.is_active_admin). The InternalDecider
// remains the production source of truth. parity_test.go (OPA as a test-only
// dependency, so the production binary stays OPA-free) checks the modelled
// read-cascade dimension only — it does NOT prove full parity.
//
// Operators running an external OPA can use this as a STARTING POINT — they
// must add the unmodelled write/WORM/role/admin semantics before relying on
// it for write authorization:
//
//	zddc-server --print-rego > /etc/opa/policies/zddc-access.rego
//
// Customizations typical for federal deployments:
//
//   - Flip the leaf-allow-overrides-parent-deny semantics so parent denies
//     are absolute (NIST AC-6 least-privilege posture).
//   - Add role-based access via additional input fields (input.user.roles
//     populated by the upstream proxy from SAML/OIDC claims).
//   - Add time-of-day or IP-range constraints.
//   - Emit decision logs in a SIEM-friendly format via OPA's logging
//     plugins.
//
//go:embed rego/access.rego
var ReferenceRego string
