Skip to main content

Agent Privacy-Preserving Protocol - AP3

Project description

AP3 - Agent Privacy-Preserving Protocol

AP3 is a protocol for privacy-preserving computation between autonomous agents

What is AP3?

AP3 is designed to solve a critical challenge in the emerging agentic economy:
How can AI agents collaborate on sensitive computations while maintaining data confidentiality and competitive advantage?

Traditional agent communication requires data sharing, which creates risks:

  • Competitive Intelligence Leakage: Proprietary algorithms, cost structures, and business strategies could be exposed
  • Regulatory Compliance Issues: Data sharing may violate privacy regulations like GDPR and CCPA
  • Trust Barriers: Parties are reluctant to collaborate without cryptographic privacy guarantees

AP3 addresses these challenges by providing a standardized framework for privacy-preserving computation using advanced cryptographic techniques.

As the agentic economy grows, AP3 will become essential infrastructure for trusted, privacy-preserving computation between autonomous agents, enabling a new generation of collaborative AI applications that respect data sovereignty and competitive advantage.

Examples

Example Framework Description
psi_simple Plain Python Minimal two-process PSI sanctions check (initiator + receiver)
psi_adk_simple Google ADK Two ADK agents running PSI through chat with embedded AP3 servers
a2a-example A2A PSI layered onto standard A2A hello-world servers as middleware
ap3_playground Web UI Glass-box inspector: agent cards, envelopes, directives, audit timeline, tamper/replay scenarios

Each example has its own README with setup, Docker, and run instructions.

View Documentation

Install the docs dependencies and run mkdocs serve to view the documentation locally:

uv sync
uv pip install -r requirements.txt
uv run mkdocs serve

Build the static site into site/:

uv run mkdocs build --clean

AP3 SDK

Key Docs:

Features

  • Private Set Intersection (PSI) - Check memberships without revealing sets
  • Commitment System - Cryptographic data commitments
  • Agent Integration - Works with Google ADK, A2A protocol
  • Experimental proof fields - Result directives include placeholder OperationProofs fields for wiring/testing only (not cryptographic proofs yet)

Installation

Requires Python 3.11+.

uv sync && source .venv/bin/activate

Usage

Private Set Intersection

Note: PSI calls a native binary (libsanction_check_lib) bundled in packages/ap3-functions/ap3_functions/psi/binaries/. macOS (.dylib) and Linux (.so) are supported natively.

from ap3_functions import PSIOperation

initiator = PSIOperation()
receiver = PSIOperation()

sanction_list = ["Jane Smith,S001,456 Elm St", "Bob Brown,S002,789 Oak Ave"]

# Initiator starts the protocol
init_result = initiator.start(role="initiator", inputs={"customer_data": "John Doe,ID123,123 Main St"})
session_id = init_result["session_id"]

# Receiver processes msg1 against its sanction list
recv_result = receiver.receive(
    role="receiver",
    message=init_result["outgoing"],
    config={"sanction_list": sanction_list},
)

# Initiator processes msg2 and gets the result
final = initiator.process(session_id, recv_result["outgoing"])
is_match = final["result"]["is_match"]

🏗️ Architecture

ap3/
├── src/ap3/                          # Core SDK (publishes as `ap3`)
│   ├── types/                        # Pydantic models
│   ├── core/                         # Session, envelopes, directives
│   ├── services/                     # Commitment & discovery services
│   ├── signing/                      # Ed25519 keys & signatures
│   └── a2a/                          # A2A middleware integration
├── packages/
│   └── ap3-functions/                # Distribution: `ap3-functions`, import: `ap3_functions`
│       └── ap3_functions/            # Protocol implementations (FFI to Rust)
│           └── psi/                  # Private Set Intersection
└── examples/
    ├── psi_simple/                   # Minimal Python PSI demo
    ├── psi_adk_simple/               # PSI with Google ADK agents
    ├── a2a-example/                  # PSI as A2A middleware
    └── ap3_playground/               # Glass-box inspector UI

License

Licensed under the Apache License, Version 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ap3-1.1.1.tar.gz (3.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ap3-1.1.1-py3-none-any.whl (55.8 kB view details)

Uploaded Python 3

File details

Details for the file ap3-1.1.1.tar.gz.

File metadata

  • Download URL: ap3-1.1.1.tar.gz
  • Upload date:
  • Size: 3.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for ap3-1.1.1.tar.gz
Algorithm Hash digest
SHA256 5afb6a30a9f5382e769e104c1ae92182c526b00b888ca050d0e0b8fc79f5f352
MD5 034ee60506eabf6a40aa7d2d859f5ebd
BLAKE2b-256 cf4f9cb5f20bf9f29f4f1466ce5c99231e8ba459b302b8413c1cb97078c39813

See more details on using hashes here.

File details

Details for the file ap3-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: ap3-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.18

File hashes

Hashes for ap3-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 12dfb63ff5b143611f1445b783f0a815ebe570b2d7a80d2ba0319b7527778e60
MD5 c2992f15511db2d6312decfc891f16f6
BLAKE2b-256 ec779b144811871ee4f73f02913132b36cb25d530f51b7442d33653f90d0bfb9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page