This is the system as it runs right now: enforcement by operating-system permissions and deterministic code, with the AI sandboxed between two human gates. Every claim below is backed by the automated test suite and live, on-disk verification.
Today's system proves the principles with operating-system permissions and a deterministic export: the AI cannot read what humans haven't approved, and cannot publish what humans haven't signed. The full framework below takes the next step — governance rules become machine-readable policy, evaluated by ordinary code on every request, and the AI is demoted to a drafter: it proposes, humans ratify, and it never decides who sees what.
Deliberately demoting probabilistic behaviour means access control never depends on how a model behaves — only on rules a community can read, version, and audit.
Four stages under one machine-readable policy: submission review, the governed wiki, mediated access, and publication. Each diagram expands its own terms — tap “Terms used” on any card.
body_hash / versioning{role, community, groups, course_enrollments, age_band}. Attributes come from the identity store, not from the request payload. Anonymous requests carry empty attributes.evaluate(subject, action=access, resource_class, context) against the current policy version. Output is a permitted-set predicate over page metadata. Deny-overrides; no matching rule → deny; unmarked metadata → deny.page_id + version for the audit trail and citation check. Provenance constraints from matched rules applied here.rule_ids, chunk ids and versions, policy_version hash, request id.evaluate(subject, action=publish, resource=page_set, channel). Per-page check against the target channel's audience: a page whose rules exclude that audience cannot be included regardless of who asks.page_id + version + body_hash.artifact@vN, immutable, named per channel. Corrections are a new version, never an edit. Registry entry links the audit record of the publish decision.vN revoked; distribution stops serving it; the act is audited. Copies already outside the boundary persist; consumers are notified where the channel has a mechanism.| Community intent | Audience | Channel | Mode |
|---|---|---|---|
| Students in course X use the tutor | enrolled students | app, runtime | Mediated |
| Make selected pages public on our site | anonymous | web, served live | Mediated |
| Let a school board query via API | named org, authenticated | API, per-call | Mediated |
| Release a dataset to researchers | named org | export file | Publication |
| Open dataset for anyone to download | anonymous | artifact registry | Publication |
id: page uuid version: int body_hash: sha256 provenance: source_ids: [submission ids] contributor: member id compiled_by: worker id + model review: {approver, ts} audience: [role / group tags] context: {community, course, seasonal / ceremonial flags} access: restricted # only value; release is computed per request or per publish by the PDP, never stored here
rule_id: string effect: allow | deny action: access | publish subject: {role, community, group, age_band} resource: {audience tags, context match, provenance constraints} channel: app | web | api | export | registry # mode (mediated vs publication) is derived from the channel conditions: {time window, seasonal flag, enrollment} obligations: [audit, redact] # deny-overrides; no match → # deny; unmarked → deny policy_version: semver + hash
ts: rfc3339 actor: subject id | service id action: submit | route | review | compile | ratify | access | publish | revoke resource: id + version channel: where applicable decision: allow | deny rule_ids: [matched rules] policy_version: hash at decision time request_id: correlation id # community-readable; # service-writable only
access: restrictedaction fieldchannel fieldevaluate() return values across generated input space.If you lead a Nation, school, or organization and want a hand in shaping what this becomes — from governance to curriculum — we'd welcome the conversation.
Start a Conversation →
We acknowledge Portage operates on the traditional territory of the Kanien’kehá:ka (Mohawk).