OpenAPPA implements the Agentic Permissions Policy Algebra (APPA) proposed in its paper, whose authors include Arseny Kravchenko, Vadim Liventsev, Innokentii Konstantinov, Ildar Iskhakov, and Matvey Kukuy. Policies are expressed as a single appa.toml configuration file, which defines data sources, audiences, trust levels, and permissions.
The mechanism simultaneously labels and monitors audience (the set of authorized consumers) and trust (the degree of data verification). Labels combine monotonically via lattice algebra and can only become stricter: reading restricted records narrows the audience, and reading unreviewed external web pages lowers trust. This monotonicity is the source of determinism—labels will not be relaxed because of what the model says.
Each tool contract defines three main operational attributes: requires (the audience membership and trust level needed to run the tool), delta (the restrictions imposed when the tool returns data), and effects (the audit trail of successful operations). Tool calls are therefore constrained by requires conditions—for example, process_internal_data requires the audience to be within internal, and apply_db_migration requires the data to be trusted.