1:"$Sreact.fragment" 2:I[9243,["874","static/chunks/874-437a265a67d6cfee.js","177","static/chunks/app/layout-9e26993b21d9395e.js"],""] 3:I[7288,["874","static/chunks/874-437a265a67d6cfee.js","177","static/chunks/app/layout-9e26993b21d9395e.js"],"Header"] 4:I[7555,[],""] 5:I[1295,[],""] b:I[8393,[],""] :HL["/_next/static/css/99c84c4cfb654a78.css","style"] 0:{"P":null,"b":"SqEGsjcR6lSYX8j7Xjd14","p":"","c":["","peac"],"i":false,"f":[[["",{"children":["peac",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/99c84c4cfb654a78.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","html",null,{"lang":"en","children":[["$","head",null,{"children":[["$","link",null,{"rel":"icon","href":"/favicon.svg"}],["$","$L2",null,{"src":"https://www.googletagmanager.com/gtag/js?id=G-9ZQQLS64KJ","strategy":"afterInteractive"}],["$","$L2",null,{"id":"gtag-init","strategy":"afterInteractive","children":"\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', 'G-9ZQQLS64KJ');\n "}]]}],["$","body",null,{"className":"selection:bg-[var(--accent-100)] selection:text-slate-900","children":[["$","$L3",null,{}],["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","main",null,{"className":"border-t border-slate-100","children":["$","div",null,{"className":"mx-auto max-w-3xl px-4 sm:px-6 lg:px-8 py-10","children":[["$","h1",null,{"className":"text-2xl font-semibold tracking-tight","children":"Page not found"}],["$","p",null,{"className":"mt-4 text-slate-700","children":"The page you are looking for does not exist."}]]}]}],[]],"forbidden":"$undefined","unauthorized":"$undefined"}],["$","footer",null,{"className":"border-t border-gray-100 bg-white","children":["$","div",null,{"className":"container-wide py-12","children":[["$","div",null,{"className":"flex flex-col lg:flex-row lg:items-center lg:justify-between gap-8","children":[["$","div",null,{"className":"flex items-center","children":["$","div",null,{"className":"text-xl font-bold tracking-tighter","children":[["$","span",null,{"className":"text-black","children":"PEAC"}],["$","span",null,{"className":"text-gray-400 font-light ml-1","children":"Protocol"}]]}]}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-6 sm:gap-8","children":[["$","div",null,{"children":[["$","div",null,{"className":"text-micro font-semibold text-gray-400 mb-3","children":"MAIN"}],["$","nav",null,{"className":"flex flex-col gap-2 text-sm","children":[["$","a",null,{"href":"/peac","className":"text-gray-600 hover:text-black transition-colors","children":"peac.txt"}],["$","a",null,{"href":"/receipts","className":"text-gray-600 hover:text-black transition-colors","children":"Receipts"}],["$","a",null,{"href":"/docs","className":"text-gray-600 hover:text-black transition-colors","children":"Documentation"}],["$","a",null,{"href":"/adapters","className":"text-gray-600 hover:text-black transition-colors","children":"Adapters"}],["$","a",null,{"href":"/demos","className":"text-gray-600 hover:text-black transition-colors","children":"Demos"}]]}]]}],["$","div",null,{"children":[["$","div",null,{"className":"text-micro font-semibold text-gray-400 mb-3","children":"COMMUNITY"}],["$","nav",null,{"className":"flex flex-col gap-2 text-sm","children":[["$","a",null,{"href":"/wg","className":"text-gray-600 hover:text-black transition-colors","children":"Working Group"}],["$","a",null,{"href":"/ecosystem/community","className":"text-gray-600 hover:text-black transition-colors","children":"Community"}],["$","a",null,{"href":"/contact","className":"text-gray-600 hover:text-black transition-colors","children":"Contact"}]]}]]}],["$","div",null,{"children":[["$","div",null,{"className":"text-micro font-semibold text-gray-400 mb-3","children":"RESOURCES"}],["$","nav",null,{"className":"flex flex-col gap-2 text-sm","children":[["$","a",null,{"href":"https://github.com/peacprotocol/peac/releases","className":"text-gray-600 hover:text-black transition-colors","children":"Releases"}],["$","a",null,{"href":"/.well-known/peac.txt","className":"text-gray-600 hover:text-black transition-colors","children":"peac.txt File"}],["$","a",null,{"href":"/.well-known/peac-capabilities","className":"text-gray-600 hover:text-black transition-colors","children":"Capabilities"}],["$","a",null,{"href":"/robots.txt","className":"text-gray-600 hover:text-black transition-colors","children":"robots.txt"}]]}]]}],["$","div",null,{"children":[["$","div",null,{"className":"text-micro font-semibold text-gray-400 mb-3","children":"LEGAL"}],"$L6"]}]]}]]}],"$L7"]}]}]]}]]}]]}],{"children":["peac","$L8",{"children":["__PAGE__","$L9",{},null,false]},null,false]},null,false],"$La",false]],"m":"$undefined","G":["$b",[]],"s":false,"S":true} c:I[6874,["874","static/chunks/874-437a265a67d6cfee.js","352","static/chunks/app/peac/page-cc723dd31e7790e3.js"],""] 17:I[9665,[],"ViewportBoundary"] 19:I[9665,[],"MetadataBoundary"] 1a:"$Sreact.suspense" 6:["$","nav",null,{"className":"flex flex-col gap-2 text-sm","children":[["$","a",null,{"href":"/legal/security-policy","className":"text-gray-600 hover:text-black transition-colors","children":"Security"}],["$","a",null,{"href":"/ecosystem/governance","className":"text-gray-600 hover:text-black transition-colors","children":"Governance"}],["$","a",null,{"href":"https://peacprotocol.substack.com/p/building-next-web-together-standards-fair-ai-access","className":"text-gray-600 hover:text-black transition-colors","children":"Blog"}]]}] 7:["$","div",null,{"className":"border-t border-gray-100 mt-8 pt-8 flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4","children":[["$","div",null,{"className":"text-subtle","children":"© 2025 PEAC Protocol · Apache 2.0 License"}],["$","div",null,{"className":"text-subtle","children":["$","a",null,{"href":"mailto:contact@peacprotocol.org","className":"hover:text-black transition-colors","children":"contact@peacprotocol.org"}]}]]}] 8:["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}] 9:["$","$1","c",{"children":[["$","div",null,{"className":"min-h-screen","children":[["$","nav",null,{"className":"sticky top-20 z-40 bg-white border-b border-gray-100","children":["$","div",null,{"className":"container-wide","children":["$","div",null,{"className":"flex gap-3 sm:gap-6 py-3 overflow-x-auto scrollbar-hide","children":[["$","a",null,{"href":"#overview","className":"nav-link text-xs sm:text-sm font-medium text-gray-600 hover:text-gray-900 whitespace-nowrap px-2 sm:px-0","children":"Overview"}],["$","a",null,{"href":"#examples","className":"nav-link text-xs sm:text-sm font-medium text-gray-600 hover:text-gray-900 whitespace-nowrap px-2 sm:px-0","children":"Examples"}],["$","a",null,{"href":"#implementation","className":"nav-link text-xs sm:text-sm font-medium text-gray-600 hover:text-gray-900 whitespace-nowrap px-2 sm:px-0","children":"Implementation"}],["$","a",null,{"href":"#validation","className":"nav-link text-xs sm:text-sm font-medium text-gray-600 hover:text-gray-900 whitespace-nowrap px-2 sm:px-0","children":"Validation"}],["$","a",null,{"href":"#reference","className":"nav-link text-xs sm:text-sm font-medium text-gray-600 hover:text-gray-900 whitespace-nowrap px-2 sm:px-0","children":"Reference"}]]}]}]}],["$","section",null,{"className":"relative bg-gradient-to-b from-slate-50 to-white border-b border-gray-100","children":["$","div",null,{"className":"container-wide section-padding","children":["$","div",null,{"className":"max-w-4xl","children":[["$","h1",null,{"className":"text-hero font-bold tracking-tight text-slate-900 mb-6","children":"peac.txt Policy File"}],["$","p",null,{"className":"text-large text-slate-700 mb-8 leading-relaxed","children":"A machine-readable policy file for agent coordination. Defines access terms, attribution requirements, and verification methods using standard web protocols."}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-3 mb-6","children":[["$","$Lc",null,{"href":"#examples","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-primary","children":"View Examples"}],["$","$Lc",null,{"href":"#validation","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-secondary","children":"Validation Tools"}],["$","$Lc",null,{"href":"https://github.com/peacprotocol/peac","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-subtle","children":"Specification"}]]}],["$","div",null,{"className":"text-subtle","children":["Current version: ",["$","span",null,{"className":"font-mono","children":"0.9.10"}]," • Protocol headers: ",["$","span",null,{"className":"font-mono","children":"x-peac-*"}]]}]]}]}]}],["$","section",null,{"id":"overview","className":"section-padding border-b border-gray-100","children":["$","div",null,{"className":"container-wide","children":["$","div",null,{"className":"grid lg:grid-cols-2 gap-6 sm:gap-8 lg:gap-12 xl:gap-16","children":[["$","div",null,{"children":[["$","h2",null,{"className":"text-display font-bold text-slate-900 mb-6","children":"How peac.txt works"}],["$","div",null,{"className":"space-y-4 text-slate-700","children":[["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-6 h-6 rounded-full bg-slate-200 flex items-center justify-center text-xs font-mono mt-0.5","children":"1"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Policy discovery"}]," - Agents read your policy file at ",["$","code",null,{"children":"/.well-known/peac.txt"}]]}]]}],["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-6 h-6 rounded-full bg-slate-200 flex items-center justify-center text-xs font-mono mt-0.5","children":"2"}],"$Ld"]}],"$Le","$Lf"]}]]}],"$L10"]}]}]}],"$L11","$L12","$L13","$L14","$L15"]}],null,"$L16"]}] a:["$","$1","h",{"children":[null,[["$","$L17",null,{"children":"$L18"}],null],["$","$L19",null,{"children":["$","div",null,{"hidden":true,"children":["$","$1a",null,{"fallback":null,"children":"$L1b"}]}]}]]}] 1c:I[8403,["874","static/chunks/874-437a265a67d6cfee.js","352","static/chunks/app/peac/page-cc723dd31e7790e3.js"],"CodeBlock"] 1f:I[9665,[],"OutletBoundary"] 21:I[4911,[],"AsyncMetadataOutlet"] d:["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Purpose declaration"}]," - Specify allowed uses (indexing, research) and restricted uses (training)"]}] e:["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-6 h-6 rounded-full bg-slate-200 flex items-center justify-center text-xs font-mono mt-0.5","children":"3"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Access control"}]," - Set rate limits, quotas, and attribution requirements"]}]]}] f:["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-6 h-6 rounded-full bg-slate-200 flex items-center justify-center text-xs font-mono mt-0.5","children":"4"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Receipt verification"}]," - Agents provide cryptographic proof of compliance"]}]]}] 10:["$","div",null,{"children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-6","children":"Relationship to robots.txt"}],["$","div",null,{"className":"space-y-4 text-slate-700","children":[["$","p",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"robots.txt"}]," provides basic crawler directives. It is advisory and cannot verify compliance."]}],["$","p",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"peac.txt"}]," extends this model with verifiable receipts, purpose-based access control, attribution tracking, and optional payment flows."]}],["$","p",null,{"className":"text-subtle","children":"Files work together. Use robots.txt for basic crawling rules and peac.txt for agent coordination."}]]}]]}] 11:["$","section",null,{"id":"examples","className":"section-padding border-b border-gray-100","children":["$","div",null,{"className":"container-wide","children":[["$","h2",null,{"className":"text-display font-bold text-slate-900 mb-8","children":"Policy Examples"}],["$","div",null,{"className":"mb-12","children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-3","children":"Basic policy"}],["$","p",null,{"className":"text-slate-600 mb-4","children":"Allows indexing and research with attribution. Other purposes require negotiation."}],["$","$L1c",null,{"code":"version: 0.9.10\nusage: conditional\npurposes: [indexing, research]\nattribution: required\nattribution_format: \"Source: {url} via PEAC\"","title":"/.well-known/peac.txt"}]]}],["$","div",null,{"className":"mb-12","children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-3","children":"Complete policy"}],["$","p",null,{"className":"text-slate-600 mb-4","children":"Includes rate limits, retention policies, payment endpoints, and contact information."}],["$","$L1c",null,{"code":"# PEAC policy for yourdomain.com\nversion: 0.9.10\nusage: conditional\n\n# Basic usage - indexing and research allowed\npurposes: [indexing, research]\nattribution: required\nattribution_format: \"Source: {url} via PEAC\"\n\n# Privacy and retention\nconsent: optional\nprivacy_policy: https://yourdomain.com/privacy\ndata_retention: P30D\n\n# Access limits and free tier\nrate_limit: 600/hour\ndaily_limit: 3000\nfree_quota: 1000\n\n# Pricing for non-free purposes\nprice: $0.01/MB\ncurrency: USD\npayment_methods: [stripe, crypto, lightning]\npayment_endpoint: https://api.yourdomain.com/peac/pay\n\n# Negotiate terms for AI training or commercial use\nnegotiate: https://api.yourdomain.com/peac/negotiate\n\n# Contacts\ncontact: hello@yourdomain.com\nsupport: https://yourdomain.com/contact","title":"/.well-known/peac.txt"}]]}],["$","div",null,{"className":"mb-8","children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-3","children":"Research-only policy"}],["$","p",null,{"className":"text-slate-600 mb-4","children":"Restricts access to research purposes only. All other uses require explicit negotiation."}],["$","$L1c",null,{"code":"version: 0.9.10\nusage: conditional\npurposes: [research]\nattribution: required\nconsent: required\nnegotiate: https://api.yourdomain.com/peac/negotiate","title":"/.well-known/peac.txt"}]]}],["$","div",null,{"className":"card-minimal p-4","children":["$","p",null,{"className":"text-sm text-slate-600","children":[["$","strong",null,{"children":"File placement:"}]," Primary location ",["$","code",null,{"className":"text-slate-900","children":"/.well-known/peac.txt"}],", with optional fallback at ",["$","code",null,{"className":"text-slate-900","children":"/peac.txt"}]]}]}]]}]}] 12:["$","section",null,{"id":"implementation","className":"section-padding border-b border-gray-100","children":["$","div",null,{"className":"container-wide","children":["$","div",null,{"className":"grid lg:grid-cols-2 gap-6 sm:gap-8 lg:gap-12 xl:gap-16","children":[["$","div",null,{"children":[["$","h2",null,{"className":"text-display font-bold text-slate-900 mb-6","children":"Protocol Flow"}],["$","div",null,{"className":"space-y-4 text-slate-700","children":[["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-7 h-7 rounded-full bg-slate-900 text-white flex items-center justify-center text-sm font-bold mt-0.5","children":"1"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Discovery:"}]," Agent reads policy at ",["$","code",null,{"children":"/.well-known/peac.txt"}]]}]]}],["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-7 h-7 rounded-full bg-slate-900 text-white flex items-center justify-center text-sm font-bold mt-0.5","children":"2"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Negotiation:"}]," Agent calls ",["$","code",null,{"children":"negotiate"}]," endpoint if required"]}]]}],["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-7 h-7 rounded-full bg-slate-900 text-white flex items-center justify-center text-sm font-bold mt-0.5","children":"3"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Receipt:"}]," Agent obtains signed receipt with terms/payment proof"]}]]}],["$","div",null,{"className":"flex gap-3","children":[["$","div",null,{"className":"w-7 h-7 rounded-full bg-slate-900 text-white flex items-center justify-center text-sm font-bold mt-0.5","children":"4"}],["$","div",null,{"children":[["$","strong",null,{"className":"text-slate-900","children":"Access:"}]," Agent includes receipt in ",["$","code",null,{"children":"x-peac-receipt"}]," header"]}]]}]]}],["$","div",null,{"className":"mt-8","children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-4","children":"Protocol Headers"}],["$","div",null,{"className":"space-y-3 text-sm","children":[["$","div",null,{"children":[["$","code",null,{"className":"text-slate-900 font-semibold","children":"x-peac-receipt:"}],["$","span",null,{"className":"text-slate-600 ml-2","children":"Cryptographic proof of compliance"}]]}],["$","div",null,{"children":[["$","code",null,{"className":"text-slate-900 font-semibold","children":"x-peac-protocol-version:"}],["$","span",null,{"className":"text-slate-600 ml-2","children":"Protocol version (0.9.10)"}]]}]]}]]}],["$","div",null,{"className":"mt-6","children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-4","children":"HTTP Status Codes"}],["$","div",null,{"className":"space-y-2 text-sm font-mono","children":[["$","div",null,{"children":[["$","span",null,{"className":"text-green-600","children":"200"}]," ",["$","span",null,{"className":"text-slate-600","children":"Access granted, receipt valid"}]]}],["$","div",null,{"children":[["$","span",null,{"className":"text-yellow-600","children":"401"}]," ",["$","span",null,{"className":"text-slate-600","children":"Receipt missing or invalid"}]]}],["$","div",null,{"children":[["$","span",null,{"className":"text-red-600","children":"402"}]," ",["$","span",null,{"className":"text-slate-600","children":"Payment required"}]]}],["$","div",null,{"children":[["$","span",null,{"className":"text-red-600","children":"403"}]," ",["$","span",null,{"className":"text-slate-600","children":"Purpose not permitted"}]]}],["$","div",null,{"children":[["$","span",null,{"className":"text-orange-600","children":"429"}]," ",["$","span",null,{"className":"text-slate-600","children":"Rate limit exceeded"}]]}]]}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-large font-semibold text-slate-900 mb-4","children":"Server Integration"}],["$","div",null,{"className":"mb-6","children":[["$","h4",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Nginx Configuration"}],["$","$L1c",null,{"code":"# Nginx: serve peac.txt and emit version header\nlocation = /.well-known/peac.txt {\n try_files /peac.txt =404;\n add_header X-PEAC-Protocol-Version \"0.9.10\";\n add_header Cache-Control \"public, max-age=3600\";\n}\n\n# Optionally gate a path by receipt\nlocation /api/protected/ {\n if ($http_x_peac_receipt = \"\") { return 401; }\n proxy_pass http://app;\n}","title":"nginx.conf"}]]}],"$L1d","$L1e"]}]]}]}]}] 13:["$","section",null,{"id":"validation","className":"section-padding border-b border-gray-100 bg-slate-50","children":["$","div",null,{"className":"container-wide","children":["$","div",null,{"className":"max-w-3xl mx-auto text-center","children":[["$","h2",null,{"className":"text-display font-bold text-slate-900 mb-6","children":"Policy Validation"}],["$","p",null,{"className":"text-large text-slate-600 mb-8","children":"Validate syntax and test conformance using the PEAC CLI tools"}],["$","div",null,{"className":"text-left","children":["$","$L1c",null,{"code":"# Install PEAC CLI\nnpm install -g @peacprotocol/cli\n\n# Initialize a new peac.txt\nnpx peac init\n\n# Validate your policy file\nnpx peac validate peac.txt\n\n# Test conformance level\nnpx peac test --level L2\n\n# Generate test receipt\nnpx peac sign --purpose research --quota 1000 --out receipt.jwt","title":"terminal"}]}],["$","div",null,{"className":"mt-6 text-center","children":[["$","p",null,{"className":"text-subtle mb-4","children":"Integrate validation into CI/CD pipelines to prevent invalid policy deployments"}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-3 justify-center","children":[["$","$Lc",null,{"href":"https://github.com/peacprotocol/peac","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-secondary","children":"CLI Documentation"}],["$","$Lc",null,{"href":"/receipts","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-subtle","children":"Receipts API"}]]}]]}]]}]}]}] 14:["$","section",null,{"id":"reference","className":"section-padding","children":["$","div",null,{"className":"container-wide","children":[["$","h2",null,{"className":"text-display font-bold text-slate-900 mb-12 text-center","children":"Reference"}],["$","div",null,{"className":"grid lg:grid-cols-2 gap-6 sm:gap-8 lg:gap-12","children":[["$","div",null,{"className":"space-y-8","children":[["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"File location requirements"}],["$","p",null,{"className":"text-slate-700","children":["Primary: ",["$","code",null,{"className":"text-slate-900","children":"/.well-known/peac.txt"}],["$","br",null,{}],"Fallback: ",["$","code",null,{"className":"text-slate-900","children":"/peac.txt"}]]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Payment integration"}],["$","p",null,{"className":"text-slate-700","children":"Optional. Begin with attribution-only policies. Add payment endpoints when monetization is required."}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Training data restrictions"}],["$","p",null,{"className":"text-slate-700","children":["Exclude training from ",["$","code",null,{"className":"text-slate-900","children":"purposes"}]," list. Return 403 status for training requests."]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Privacy and retention"}],["$","p",null,{"className":"text-slate-700","children":["Specify retention periods using ",["$","code",null,{"className":"text-slate-900","children":"data_retention"}],". Link privacy policy for compliance."]}]]}]]}],["$","div",null,{"className":"space-y-8","children":[["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Protocol evolution"}],["$","p",null,{"className":"text-slate-700","children":["Current headers use ",["$","code",null,{"className":"text-slate-900","children":"x-peac-*"}]," prefix. Will normalize to ",["$","code",null,{"className":"text-slate-900","children":"peac-*"}]," in v1.0."]}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Policy enforcement"}],["$","p",null,{"className":"text-slate-700","children":"Servers validate receipts and return appropriate HTTP status codes for policy violations."}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Receipt technology"}],["$","p",null,{"className":"text-slate-700","children":"Uses cryptographically signed JWTs to prove agent compliance with declared terms and payments."}]]}],["$","div",null,{"children":[["$","h3",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Testing and development"}],["$","p",null,{"className":"text-slate-700","children":"Generate test receipts locally. Validate policies before deployment using the CLI toolkit."}]]}]]}]]}]]}]}] 15:["$","section",null,{"className":"section-padding bg-slate-900 text-white","children":["$","div",null,{"className":"container-narrow text-center","children":[["$","h2",null,{"className":"text-display font-bold mb-6","children":"Implementation Resources"}],["$","p",null,{"className":"text-large text-slate-300 mb-8","children":"Access policy templates, validation tools, and technical documentation"}],["$","div",null,{"className":"flex flex-col sm:flex-row gap-4 justify-center","children":[["$","$Lc",null,{"href":"/.well-known/peac.txt","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-primary-dark","children":"View Policy File"}],["$","$Lc",null,{"href":"/contact","className":"inline-flex items-center font-medium transition-all duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 btn-secondary-dark","children":"Technical Support"}]]}],["$","p",null,{"className":"text-slate-400 mt-6 text-sm","children":["Technical questions: ",["$","a",null,{"href":"/ecosystem/community","className":"text-white underline hover:text-slate-300","children":"Community"}]," • Protocol specification: ",["$","a",null,{"href":"https://github.com/peacprotocol/peac","className":"text-white underline hover:text-slate-300","children":"GitHub"}]]}]]}]}] 16:["$","$L1f",null,{"children":["$L20",["$","$L21",null,{"promise":"$@22"}]]}] 1d:["$","div",null,{"className":"mb-6","children":[["$","h4",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Node.js Express"}],["$","$L1c",null,{"code":"// Node.js Express: receipt validation\nimport express from 'express'\nimport { verifyReceipt } from '@peacprotocol/core'\n\nconst app = express()\n\napp.get('/protected', async (req, res) => {\n const receipt = req.header('X-PEAC-Receipt')\n if (!receipt) {\n return res.status(401).json({ \n error: 'missing_receipt',\n type: 'https://peacprotocol.org/errors/missing-receipt'\n })\n }\n \n try {\n const claims = await verifyReceipt(receipt)\n res.setHeader('X-PEAC-Protocol-Version', '0.9.10')\n return res.json({ ok: true, claims })\n } catch (err) {\n return res.status(401).json({ \n error: 'invalid_receipt',\n details: err.message \n })\n }\n})","title":"server.js"}]]}] 1e:["$","div",null,{"children":[["$","h4",null,{"className":"text-emphasized font-semibold text-slate-900 mb-3","children":"Client Request"}],["$","$L1c",null,{"code":"# Client: fetch with a PEAC receipt\ncurl -H \"X-PEAC-Receipt: \" \\\n -H \"User-Agent: MyAgent/1.0 (+https://example.org/agent)\" \\\n https://yourdomain.com/api/data","title":"terminal"}]]}] 18:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}]] 20:null 22:{"metadata":[["$","title","0",{"children":"peac.txt Policy File Guide | PEAC Protocol"}],["$","meta","1",{"name":"description","content":"Technical guide to implementing peac.txt - a machine-readable policy file for agent coordination. Includes syntax, examples, and server integration patterns."}],["$","meta","2",{"name":"keywords","content":"peac.txt,agent policy,machine-readable policies,web standard,agent coordination,receipts,attribution,access control"}],["$","link","3",{"rel":"canonical","href":"https://peacprotocol.org/peac"}],["$","meta","4",{"property":"og:title","content":"peac.txt Policy File Guide | PEAC Protocol"}],["$","meta","5",{"property":"og:description","content":"Technical guide to implementing peac.txt for agent coordination and access control."}],["$","meta","6",{"property":"og:url","content":"https://peacprotocol.org/peac"}],["$","meta","7",{"property":"og:type","content":"article"}],["$","meta","8",{"name":"twitter:card","content":"summary_large_image"}],["$","meta","9",{"name":"twitter:title","content":"peac.txt Policy File Guide | PEAC Protocol"}],["$","meta","10",{"name":"twitter:description","content":"Machine-readable policy files for agent coordination and access control"}]],"error":null,"digest":"$undefined"} 1b:"$22:metadata"