Skip to content

Latest commit

 

History

261 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OpenAPPA

Deterministic security for real-world agentic applications.

Website · How it works · Policy reference · Benchmarks · Paper · Discord

License: MIT Status: Preview & RFC Discord


OpenAPPA sits between an agent and its tools and answers one question before every action: is this data allowed to go to this destination?

It is powered by APPA — Agentic Permissions Policy Algebra — which tracks the sensitivity and trust of everything an agent reads and checks every outbound call against it. Checks run before dispatch, so sensitive data never reaches an unauthorized tool. Classifiers and PII detectors are probabilistic; a declared flow decision here holds on every run, which is what it takes to trust an agent around medical or financial records.

Policy is declarative TOML, and the engine is a pure decision core — a function of the event log, no IO — so it embeds inside your own agent: in-process from Rust or Python, or as a sidecar every step is checked against. Broader coverage across those surfaces is the active work.

Benchmarks

Agent security has to be measured on two axes at once: an agent that permits unauthorized flows is unsafe, and an agent that refuses valid work is useless. Bench-Corp — multi-step enterprise workflows across HR, finance and support — with GPT-5.6 Luna, 35 episodes per arm:

Prompts Policy arm Task completion Attack success Security pass
Standard OpenAPPA 94.3% 0% 100%
FIDES 28.6% 22.9% 77.1%
Unprotected 74.3% 28.6% 71.4%
ChaosMonkey (adversarial) OpenAPPA 91.4% 0% 100%
FIDES 28.6% 28.6% 71.4%
Unprotected 65.7% 28.6% 71.4%

The full 104-sample AgentThreatBench comparison — stock, permissive, guarded OpenAPPA and Microsoft FIDES — lives in bench/agentthreatbench.

Methodology, TAU-bench and AgentThreatBench results: Benchmarks.

Try it: Claude Code

The Claude Code plugin is a playground for the model, not the product. It is the fastest way to watch a policy make a decision on real work:

claude plugin marketplace add archestra-ai/OpenAPPA &&
  claude plugin install appa-runtime@appa &&
  claude "set up APPA"

This installs a clappa command that runs Claude Code protected by OpenAPPA; plain claude sessions stay untouched. Run /appa-tool-sync in a plain claude session to bring your MCP servers into the policy, then start clappa to try the protected flow.

A protected Claude Code session refuses to post content from a private meeting recording to a public GitHub repo, and explains why

Setup, upgrade and uninstall: Claude Code integration · integrations/claude-code.

Status

OpenAPPA is a preview and an RFC. The model is settled enough to build against and deliberately open to argument — config and wire surfaces may break without shims. Read the paper, then open an issue — or come argue in the Discord.

License

MIT · Contributors · Brand assets

About

Deterministic security for real-world agentic applications

Resources

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages