Use case

Per-project ACL for AI agents and receipts

Per-project ACLs let you split AI work into confidential vs org-shared. Confidential projects are invisible to org_context_lookup; shared projects power de-dup. The audit log is bracketed; the institutional memory still benefits.

Why per-agent ACLs aren't enough

Many AI governance tools have per-agent or per-user ACLs. That's too coarse — an engineer needs full access to their agent but might be working on multiple projects with different sensitivity. The atomic unit of access control should be the project, not the agent. GenZAgents lets you tag receipts with a project and ACL the project independently of the agent.

Three ACL levels

org-public: any org member can see + use in org_context_lookup. This is the default for most projects. members-only: explicitly listed members can see; org_context_lookup returns a stub ("someone in the org has done similar work — request access"). private: only the project owner sees; org_context_lookup ignores entirely.

How sensitivity drives the choice

Most projects (engineering work, customer-facing analyses, internal strategy) sit fine in org-public. Sensitive projects (executive comp analyses, M&A due diligence, security investigations) sit in members-only or private. The choice happens once at project creation; the receipts inherit the ACL.

How the audit log respects ACLs

Even compliance-audit access respects ACLs. If your SOC 2 auditor needs to review AI activity, the evidence pack includes only receipts the auditor is ACL'd to see (typically org-public + members-only with auditor as a member). private projects show as redacted entries in the pack — the auditor sees "5 receipts redacted under private ACL" so the count is honest but the content isn't exposed.

Working with cross-project handoffs

When an engineer transitions between projects, the transfer flow respects the new project's ACL: receipts from a private project don't bleed into an org-public successor project. This matters when a security investigation's receipts shouldn't be inheritable by the engineer's next assignment.

Default vs explicit ACL behaviour

Brand-new projects default to org-public to make de-dup work out of the box. Org admins can change the default to org-private if their threat model requires explicit opt-in to org-wide visibility. The dashboard surfaces the default policy clearly so engineers don't accidentally over-share.

Common questions

Can ACLs be inherited from a parent project hierarchy?

Yes — child projects inherit the parent ACL by default; you can override at the child level. Useful for org-public umbrella projects with confidential sub-projects.

What about per-receipt ACLs (more granular than project)?

Not in v0.7. The atomic unit is the project. v0.8 may add per-receipt redaction flags for specific compliance use cases; today, if a receipt needs unique sensitivity, move it to a dedicated private project.

Does ACL apply to the dashboard search bar?

Yes — search respects ACLs. You can't find a receipt you don't have access to. The search index is scoped per-user.

How do I quickly audit who has access to a project?

/projects/[id]/access in the dashboard shows the full member list with their roles + access-grant dates + last-active timestamps. Export to CSV for compliance review.

Related

Get the trust layer for your AI work

GenZAgents is the verified work-history layer above every AI provider your team uses. Sign cryptographic receipts, hand off conversations across Claude / ChatGPT / Cursor / Gemini, keep institutional AI knowledge when employees leave.

Last reviewed · 3 min read· Open spec· Changelog