Skip to content

feat(core): per-object ABAC policy bound into the ciphertext - #21

Merged
GoDeskio merged 1 commit into
mainfrom
feat/object-policy
Nov 5, 2026
Merged

GoDeskio merged 1 commit into
mainfrom
feat/object-policy

Conversation

@GoDeskio

Copy link
Copy Markdown
Owner

Backlog #12.

  • src/policy.rs: a policy has all-of attributes, any-of groups, and a not-before/expires window.
  • Policies are stored in canonical text inside EGP1 blobs, and the policy hash is folded into the record-context AAD, so editing a policy breaks decryption.
  • open decrypts, then enforces the policy (denial returns InvalidArgument, tampering returns Decrypt). peek reads the policy for UIs.
  • This is a guard for services, not enforcement against a root-key holder. Zero-knowledge model, no override key.
  • Tests: allow, deny on attributes, deny on time, policy tamper, parser junk.

@GoDeskio
GoDeskio merged commit 8f72f36 into main Nov 5, 2026
11 of 15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant