General
What is AIP?
What is AIP?
What's the difference between the AIP specification and the Go proxy?
What's the difference between the AIP specification and the Go proxy?
- AIP Specification (
spec/): The protocol standard that anyone can implement - Go Proxy (
implementations/go-proxy/): One reference implementation of that standard
Can I use AIP without the Go proxy?
Can I use AIP without the Go proxy?
- Implement AIP natively in your MCP client (Cursor, Claude Desktop, etc.)
- Build your own proxy in any language
- Use the Go proxy as a reference
Does AIP require changes to my MCP server?
Does AIP require changes to my MCP server?
tools/call requests, applies policy, and forwards allowed requests unchanged.What's the difference between v1alpha1 and v1alpha2?
What's the difference between v1alpha1 and v1alpha2?
- Identity Tokens: Cryptographic session binding and replay prevention
- Server-Side Validation: Centralized policy enforcement via HTTP
- Policy Signatures: Integrity verification for policy files
- Tool Schema Hashing: Protection against tool poisoning
Do I need identity tokens?
Do I need identity tokens?
- You run agents in a multi-tenant environment
- You need to audit who (which session) performed an action, not just what happened
- You are using the centralized AIP Server
Security
How is AIP different from workforce AI governance tools like SurePath.ai?
How is AIP different from workforce AI governance tools like SurePath.ai?
- Monitors employee AI usage across your organization
- Network/application level visibility
- Answers: “Who in my org is using ChatGPT? What are they asking?”
- Typically SaaS platforms for compliance and governance
- Controls what actions AI agents can take on your infrastructure
- Tool-call level authorization (blocks dangerous operations)
- Answers: “Can this agent delete files? Access production databases?”
- Open protocol for developers building agents
How is AIP different from OAuth?
How is AIP different from OAuth?
| Aspect | OAuth | AIP |
|---|---|---|
| Granularity | Scope-level (“repo access”) | Action-level (“repos.get with org:X”) |
| Timing | Grant-time | Runtime (every call) |
| Audience | End users | Developers/Security teams |
| Format | Token claims | YAML policy files |
Can AIP prevent all prompt injection attacks?
Can AIP prevent all prompt injection attacks?
- Limiting which tools an agent can call
- Validating arguments with regex patterns
- Requiring human approval for sensitive operations
- Logging all decisions for forensic analysis
What about network egress? Can a malicious agent exfiltrate data?
What about network egress? Can a malicious agent exfiltrate data?
--network=none.Are audit logs tamper-proof?
Are audit logs tamper-proof?
Policy
Where do I put my policy file?
Where do I put my policy file?
~/.config/aip/policy.yaml(user config)./agent.yaml(project root)/etc/aip/policy.yaml(system-wide)
--policy /path/to/policy.yaml.What happens if a tool isn't in allowed_tools?
What happens if a tool isn't in allowed_tools?
-32001 Forbidden. AIP is default-deny.This fail-closed design ensures that unknown or undeclared tools are automatically rejected.Can I test a policy without blocking anything?
Can I test a policy without blocking anything?
How do I allow a tool but require approval?
How do I allow a tool but require approval?
action: ask:Can I validate tool arguments?
Can I validate tool arguments?
How do I set up server-side validation?
How do I set up server-side validation?
- Enable
spec.serverin your policy - Configure TLS (required for non-localhost)
- Set
failover_mode(recommendfail_closedfor security)
Implementation
My Docker container doesn't stop when I kill the proxy!
My Docker container doesn't stop when I kill the proxy!
docker CLI process, not the container itself. This can leave zombie containers running.Solution: Always use --rm and --init flags:| Flag | Purpose |
|---|---|
--rm | Automatically remove container when it exits |
--init | Run init process (tini) that forwards signals properly |
-i | Keep stdin open for JSON-RPC communication |
What MCP clients work with AIP?
What MCP clients work with AIP?
- Cursor: Add to
~/.cursor/mcp.json - Claude Desktop: Add to
claude_desktop_config.json - Continue (VS Code): Add to Continue config
- Custom clients: Use AIP as the server command
Does AIP work on Windows?
Does AIP work on Windows?
action: ask) uses native Windows dialogs via PowerShell.How do I debug policy issues?
How do I debug policy issues?
- Enable verbose mode:
--verbose - Check stderr for policy decisions
- Review the audit log:
cat aip-audit.jsonl | jq . - Use monitor mode to test without blocking
What's the performance overhead?
What's the performance overhead?
- ~1-5ms per request for policy evaluation
- Negligible memory overhead (policies are loaded once)
Contributing
How do I report a security vulnerability?
How do I report a security vulnerability?
Can I contribute a new implementation?
Can I contribute a new implementation?
- Pass the conformance test suite (
spec/conformance/) - Document your implementation
- Submit a PR to be listed in the registry
How do I propose changes to the specification?
How do I propose changes to the specification?
- Open an issue describing the change
- Discuss with maintainers
- Submit a PR to
spec/AIP-v1alpha1.md - Include conformance tests for new behavior