peac.txt Policy File
Enterprise-grade policy coordination for agents and automated systems. Standardizes access control, compliance requirements, and cryptographic verification using proven web protocols.
peac-receipt/0.1 (frozen legacy) + interaction-record+jwt (stable)How peac.txt works
/.well-known/peac.txtRelationship to robots.txt
robots.txt provides basic crawler directives. It is advisory and cannot verify compliance.
peac.txt extends this model with verifiable receipts, purpose-based access control, attribution tracking, and optional payment flows.
Files work together. Use robots.txt for basic crawling rules and peac.txt for agent coordination.
Policy Examples
Basic policy
Allows indexing and research with attribution. Other purposes require negotiation.
version: peac-policy/0.1
usage: conditional
purposes: [crawl, index]
attribution: required
receipts: requiredComplete policy
Includes rate limits, retention policies, payment endpoints, and contact information.
# PEAC policy for yourdomain.com
version: peac-policy/0.1
usage: conditional
# Allowed purposes (closed control-purpose vocabulary)
purposes: [crawl, index, search]
# Attribution and receipts
attribution: required
receipts: required
# Access limits
rate_limit: 600/hour
daily_limit: 3000
# Payments
payment_methods: [x402]
price: "0.01"
currency: USD
# Negotiation and contact
negotiate: true
contact: hello@yourdomain.comResearch-only policy
Restricts access to research purposes only. All other uses require explicit negotiation.
version: peac-policy/0.1
usage: conditional
purposes: [index, ai_index]
attribution: required
receipts: requiredFile placement: Primary location /.well-known/peac.txt, with optional fallback at /peac.txt
Protocol Flow
/.well-known/peac.txtnegotiate endpoint if requiredPEAC-Receipt headerProtocol Headers
PEAC-Receipt:Cryptographic proof of complianceHTTP Status Codes
Server Integration
Nginx Configuration
# Nginx: serve peac.txt with proper caching
location = /.well-known/peac.txt {
try_files /peac.txt =404;
add_header Cache-Control "public, max-age=3600";
}
# Optionally gate a path by receipt
location /api/protected/ {
if ($http_peac_receipt = "") { return 401; }
proxy_pass http://app;
}Node.js Express
// Node.js Express: receipt validation
import express from 'express'
import { verifyLocal } from '@peac/protocol'
const app = express()
app.get('/protected', async (req, res) => {
const receipt = req.header('PEAC-Receipt')
if (!receipt) {
return res.status(402).json({
type: 'https://www.peacprotocol.org/errors/payment-required',
title: 'Payment Required',
status: 402,
detail: 'Valid PEAC receipt required'
})
}
try {
const claims = await verifyLocal(receipt, publicKey)
return res.json({ ok: true, claims })
} catch (err) {
return res.status(401).json({
error: 'invalid_receipt',
details: err.message
})
}
})Client Request
# Client: fetch with a PEAC receipt
curl -H "PEAC-Receipt: <jwt-or-compact-receipt>" \
-H "User-Agent: MyAgent/1.0 (+https://example.org/agent)" \
https://yourdomain.com/api/dataPolicy Validation
Validate syntax and test conformance using the PEAC CLI tools
# Install PEAC CLI
pnpm add -g @peac/cli
# Initialize a new peac.txt using Policy Kit
npx peac policy init
# Validate your policy file
npx peac policy validate peac.txt
# Explain policy decisions
npx peac policy explain peac.txt
# Generate artifacts (peac.txt, robots snippet, etc.)
npx peac policy generate policy.yaml --out publicIntegrate validation into CI/CD pipelines to prevent invalid policy deployments
Reference
File location requirements
Primary: /.well-known/peac.txt
Fallback: /peac.txt
Payment integration
Optional. Begin with attribution-only policies. Add payment endpoints when monetization is required.
Training data restrictions
Exclude training from purposes list. Return 403 status for training requests.
Privacy and retention
Specify retention periods using data_retention. Link privacy policy for compliance.
Protocol evolution
Headers use PEAC-Receipt for verification and proof.
Policy enforcement
Servers validate receipts and return appropriate HTTP status codes for policy violations.
Receipt technology
Uses cryptographically signed JWS receipts to provide verifiable evidence of compliance with declared terms and payments.
Testing and development
Generate test receipts locally. Validate policies before deployment using the CLI toolkit.