MyTerms Technical Integration Plan
Swordsman Browser Agent ร IEEE 7012-2025
Document Type: Supporting Material for MyTerms Alliance Application
Author: privacymage / agentprivacy
Date: February 1, 2026 (refreshed April 22, 2026 against IEEE 7012 Integration Plan V2)
Standard Reference: IEEE Std 7012โข-2025 (Approved 4 November 2025; Published 20 January 2026)
V6 note (2026-06-10). Read R(d) as R(t) per PVM V6 ยง5 (the moving ceiling; every static reconstruction guarantee has a shelf life t*). One addition relevant to the ฮ axis: the Existence-Leak law (C81, ~70%): a public feasibility attestation is itself a disclosure event, I(feasibility; method) > 0, with the planning corollary C84 (every attestation discounts the migration horizon). The compounding-leakage results (policy separation compounds toward (2^N โ 1)ฮต; amnesia caps at Nฮต, C83) strengthen this package's core claim that the agreement layer is not the enforcement layer.
Overview
This document specifies how agentprivacy's Swordsman browser agent implements IEEE 7012-2025, the Standard for Machine Readable Personal Privacy Terms. The standard is treated as the agreement layer โ the bilateral protocol on which enforcement is built, not the enforcement itself. IEEE 7012 is a thin waist (ยง1.1): it specifies person-to-entity agreement routines and intentionally leaves delegation, ฮฃ separation, cryptographic substrate, and trust accumulation to the implementer.
The Swordsman sits within a tetrahedral architecture (Swordsman, Mage, Reflect, Connect) where the protocol between agents is a communication substrate. That substrate enables guild-based secret languages โ communities developing their own vocabulary on top of a shared waist (IEEE 7012 + W3C DPV + ODRL) โ while IEEE 7012 supplies the agreement primitive that gives the Swordsman's blade meaning beyond single sessions.
What IEEE 7012 is not
To prevent the common misread that the standard does more than it does:
- Not an enforcement specification. A signed
SD-BASEcan still be violated in practice without ZK or TEE backing. Enforcement is the implementer's job. - Not an agent-separation specification. A single-agent monolith can be IEEE 7012-compliant and score ฮฃ โ 0 on the Privacy Value Model. ฮฃ lives in architecture, not in the agreement.
- Not a multi-turn negotiation protocol. ยงA.1 and Figure A.1 cap negotiation at one round (accept / one counter-offer / decline). Richer negotiation is out of scope.
- Not an inference-control specification. Inference over released data (ฮ) is out of scope entirely.
- Not a universal ontology. Annex D expects reconciliation with existing domain vocabularies (HL7 is the worked example) via ISO 23903 โ community vocabularies live above the standard.
PVM V5.4 axis mapping
| Axis | IEEE 7012 contribution | What IEEE 7012 does not provide |
|---|---|---|
| ฮฃ (agent) | Role boundary between person-agent and entity-agent; makes separation testable via the agreement artifact | The information-theoretic bound I(S;M|FP) < ฮต* |
| ฮ (data) | Coarse-grained policy lattice via SD-BASE-* and PDC-* |
Cryptographic enforcement โ ZK/TEE backing lives below |
| ฮ (inference) | SD-BASE-ATP addresses second-party profiling as an agreement variable |
Inference over published data โ out of scope |
IEEE 7012 is a necessary but not sufficient condition for the ฮฃ axis being measurable at all. Compliance with the standard is a precondition; the Swordsman + Mage + ZK substrate together close the loop.
Architecture Alignment
IEEE 7012 Components โ Swordsman Implementation
| IEEE 7012 Specification | Swordsman Implementation |
|---|---|
| Individual's Agent (ยง5.2.1) | Swordsman browser extension |
| Agreement-Chooser (ยง5.2.1.2) | MyTerms configuration UI |
| Proposer (ยง5.2.1.3) | Automatic terms presentation on site visit |
| Recorder (ยง5.2.4) | Chronicle system with bilateral storage |
| Auditor (ยง5.2.5) | Verification and dispute documentation |
| Entity's Agent (ยง5.3) | Site-side responder (standard compliance) |
The P7012 Protocol Flow
โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ FIRST โ โ ENTITY โ
โ PERSON โ โ (SITE) โ
โโโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ
โ [Configure preferred terms] โ
โผ โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ SWORDSMAN โ โ ENTITY โ
โ AGENT โ โ AGENT โ
โโโโโโโโฌโโโโโโโโ โโโโโโโโฌโโโโโโโ
โ โ
โ โโโโ "Do you support P7012 protocol?" โโโโโถโ
โ โ
โ โโโโโ "P7012: SUPPORTED" โโโโโโโโโโโโโโโโโโ
โ โ
โ โโโโ "SD-BASE as defined in registry?" โโโถโ
โ โ
โ [Entity evaluates terms] โ
โ โ
โ โโโโโ "SD-BASE: ACCEPTED" โโโโโโโโโโโโโโโโโ
โ OR โ
โ โโโโโ "COUNTER-OFFER: SD-BASE-A" โโโโโโโโโโ (ยงA.1: ONE round only)
โ OR โ
โ โโโโโ "DECLINED" โโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โ
โ Negotiation is capped at one round. โ
โ The First Person accepts the counter, โ
โ or the conversation ends. โ
โ โ
โ [If acceptable to First Person] โ
โ โ
โ โโโโ [Signed Agreement] โโโโโโโโโโโโโโโโโโโถโ
โ โโโโโ [Counter-Signed Agreement] โโโโโโโโโโ
โ โ
โผ โผ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
โ CHRONICLE โ โ ENTITY โ
โ (RECORD) โ โ RECORD โ
โโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ
Agreement Implementation
Tier 1: Service Delivery Agreements
SD-BASE (Default)
const SD_BASE = {
id: "SD-BASE",
version: "1.0",
registry: "https://customercommons.org/agreements/",
permissions: {
serviceDelivery: true
},
prohibitions: {
analytics2P: true,
tracking2P: true,
profiling2P: true,
sharingAnonymized3P: true
},
obligations: {
dataPortability: "optional"
}
};
SD-BASE-DP (With Data Portability)
const SD_BASE_DP = {
...SD_BASE,
id: "SD-BASE-DP",
obligations: {
dataPortability: "required"
}
};
Progressive Permissions (SD-BASE-A through SD-BASE-ATP-S3P)
| Agreement | Analytics 2P | Tracking 2P | Profiling 2P | Share 3P |
|---|---|---|---|---|
| SD-BASE | โ | โ | โ | โ |
| SD-BASE-A | โ | โ | โ | โ |
| SD-BASE-AT | โ | โ | โ | โ |
| SD-BASE-ATP | โ | โ | โ | โ |
| SD-BASE-ATP-S3P | โ | โ | โ | โ |
Tier 2: Data Contribution Agreements
PDC-INTENT (Intentcasting)
const PDC_INTENT = {
id: "PDC-INTENT",
type: "contribution",
purpose: "intentcasting",
scope: "specified_intent_data",
permissions: {
receiveQualifiedResponses: true
},
prohibitions: {
broadcastToUnqualified: true,
retainBeyondSession: true
},
obligations: {
dataPortability: "required"
}
};
PDC-AI (AI Training Contribution)
const PDC_AI = {
id: "PDC-AI",
type: "contribution",
purpose: "ai_training_operation",
scope: "specified_data_categories",
// Terms for AI training data contribution
};
PDC-GOOD (Public Good Contribution)
const PDC_GOOD = {
id: "PDC-GOOD",
type: "contribution",
purpose: "public_good_research",
scope: "specified_data_categories",
// Terms for data-for-good projects
};
Sticker System โ MyTerms Action Tokens
The Sticker System is the First-Person-side UX layer that sits above the signed IEEE 7012 agreement and below the enforcement layer. Stickers are cast-able content items (emoji, proverb, or keyword) that express which subset of the signed agreement's permissions the First Person wants the Swordsman and Mage to express on a given site.
They do not replace Customer Commons agreement IDs and they do not mint new SD-BASE-* variants. They are agentprivacy-local UX primitives that compose with signed agreements.
Schema
type MyTermsSticker = {
id: string; // stable identifier, e.g. 'emoji_shield'
type: 'emoji' | 'proverb' | 'keyword';
content: string; // '๐ก๏ธ', 'The gap is where you live', 'DO_NOT_TRACK'
emoji: string; // visual representation
myTermsMapping: MyTermsAction; // enforcement verb emitted when cast
weight: 2 | 3; // contributes to hex convergence scoring
yangYin: 'yang' | 'yin'; // outward assertion vs inward concealment
source: 'story' | 'canon' | 'zk'; // narrative provenance
};
type MyTermsAction =
| 'DO_NOT_TRACK'
| 'TRUST_EXTENSION'
| 'DATA_MINIMISATION'
| 'SELECTIVE_DISCLOSURE'
| 'EPHEMERAL_SESSION'
| 'DO_NOT_SELL'
| 'ANONYMIZE';
The Canonical Eight
| ID | Type | Content | MyTerms mapping | Weight | Axis | Source |
|---|---|---|---|---|---|---|
emoji_shield |
emoji | ๐ก๏ธ | DO_NOT_TRACK |
2 | yang | story |
emoji_dragon |
emoji | ๐ | TRUST_EXTENSION |
3 | yang | story |
proverb_gap |
proverb | "The gap is where you live" | DATA_MINIMISATION |
3 | yang | story |
keyword_dnt |
keyword | DO_NOT_TRACK |
DO_NOT_TRACK |
2 | yang | canon |
emoji_crystal |
emoji | ๐ฎ | SELECTIVE_DISCLOSURE |
2 | yang | zk |
proverb_weather |
proverb | "Build weather, not monuments" | EPHEMERAL_SESSION |
2 | yin | story |
keyword_dns |
keyword | DO_NOT_SELL |
DO_NOT_SELL |
2 | yin | canon |
emoji_cloak |
emoji | ๐ป | ANONYMIZE |
2 | yin | zk |
Five yang stickers (outward assertion โ Swordsman energy, boundary-making), three yin stickers (inward concealment โ Mage energy, ฮ-aware posture).
Hex Loadout Mechanic
Six stickers are active in the hex at any time; two are benched. Default active set is three-yang + three-yin:
const DEFAULT_ACTIVE_HEX_IDS = [
'emoji_shield', 'emoji_dragon', 'proverb_gap', // yang
'emoji_crystal', 'proverb_weather', 'keyword_dns' // yin
];
The First Person swaps stickers via right-click on the Sword Orb. State is persisted per-browser under the localStorage key agentprivacy:active-hex-spells and broadcast to extensions via a agentprivacy:hex-spells-changed CustomEvent.
// Swap a benched sticker into the active hex
function swapHexSpell(activeId, benchedId) {
const current = getActiveHexSpellIds();
const idx = current.indexOf(activeId);
if (idx === -1) return;
const next = [...current];
next[idx] = benchedId;
localStorage.setItem(
'agentprivacy:active-hex-spells',
JSON.stringify(next)
);
window.dispatchEvent(
new CustomEvent('agentprivacy:hex-spells-changed')
);
}
Composition with IEEE 7012 Agreements
The signed agreement is the ceiling of what is permitted (ฮ axis); active stickers are which subset of that ceiling the First Person chooses to express in a given session.
// Composing a signed SD-BASE with an active sticker loadout
const session = {
agreement: SD_BASE, // signed per ยง5.2.4
activeStickers: [
'emoji_shield', // โ DO_NOT_TRACK enforcement
'emoji_cloak', // โ ANONYMIZE (ฮ-aware Mage posture)
'proverb_gap' // โ DATA_MINIMISATION
],
resolvedPolicy: resolveStickerPolicy(
SD_BASE,
['emoji_shield', 'emoji_cloak', 'proverb_gap']
)
};
A signed SD-BASE with emoji_cloak active means: "service delivery only, and my Mage should operate in anonymising mode on this site." The agreement is the contract with the Entity; the stickers configure how agentprivacy expresses itself within that contract.
What the Sticker System is NOT
- Not a replacement for the Customer Commons agreement registry.
myTermsMappingvalues are agentprivacy-local action verbs, not IEEE 7012 agreement IDs. Agreement IDs come from Customer Commons; stickers come from the sovereignty training journey. - Not visible to the Entity. Per ยง5.2.4, the bilateral record contains the signed agreement. Sticker state is First-Person-side UX and does not leak cross-party.
- Not a negotiation input. ยงA.1 caps negotiation at one round. Stickers do not reopen negotiation โ they configure expression within an already-signed agreement.
- Not minting new agreement IDs. A site that wants stricter-than-
SD-BASEbehaviour still uses the existingSD-BASE-*orPDC-*lattice. Stickers never appear as wire-level agreement identifiers.
Extension Integration
syncRepertoireToExtensions() broadcasts active sticker state to both the Swordsman and Mage extensions:
- Swordsman (agreement-layer agent) reads active stickers to refine resource classification inside the envelope set by the signed agreement.
emoji_shieldactive on a site withSD-BASE-Asigned will tighten third-party-analytics blocking without changing the signed agreement. - Mage (delegation inside ฮฃ scope) reads active stickers to inform operational posture โ
emoji_cloakactive triggers ฮ-aware output rewriting before the Mage takes actions on the First Person's behalf. The Mage never signs; the stickers shape how the Mage acts inside the Swordsman-signed agreement.
HTTP Protocol Implementation (MRPAZ)
Request Headers
GET /resource HTTP/1.1
Host: example.com
MRPAZ-A: org.CuCo
MRPAZ-V: V1.0
MRPAZ-T: GEN
MRPAZ-R: USA
MTPAZ-1: SD-BASE
Header Definitions
| Header | Purpose | Values |
|---|---|---|
MRPAZ-A |
Authority namespace | org.CuCo (Customer Commons) |
MRPAZ-V |
Protocol version | V1.0 |
MRPAZ-T |
Terms type | GEN (Generic), domain-specific |
MRPAZ-R |
Regional legal framework | USA, EU, GLOBAL |
MTPAZ-1 |
Agreement identifier | SD-BASE, SD-BASE-DP, etc. |
CONTRACT ZONE (Bitwise Encoding)
For efficient agent-to-agent communication:
Bit Layout (6 bits):
โโโโโฌโโโโฌโโโโฌโโโโฌโโโโฌโโโโ
โ 5 โ 4 โ 3 โ 2 โ 1 โ 0 โ
โโโโโดโโโโดโโโโดโโโโดโโโโดโโโโ
โ โ โ โโโโโดโโโโ
โ โ โ โโโ ATP Level (00=none, 01=A, 10=AT, 11=ATP)
โ โ โโโโโโโโโโโ Third-party sharing (0=no, 1=yes)
โ โโโโโโโโโโโโโโโ Data portability (0=optional, 1=required)
โโโโโโโโโโโโโโโโโโโ Reserved/Extended purposes
Examples:
0b000000 = SD-BASE (nothing permitted beyond service)
0b000001 = SD-BASE-A (Analytics permitted)
0b000010 = SD-BASE-AT (Analytics + Tracking)
0b000011 = SD-BASE-ATP (Full 2P surveillance)
0b000111 = SD-BASE-ATP-S3P (Plus 3P sharing)
0b010000 = SD-BASE-DP (Data portability required)
Machine-Readable Formats
JSON-LD (Linked Data)
{
"@context": {
"dpv": "https://w3id.org/dpv#",
"p7012": "https://w3id.org/dpv/standards/p7012#",
"odrl": "http://www.w3.org/ns/odrl/2/"
},
"@id": "https://customercommons.org/agreements/SD-BASE",
"@type": ["p7012:Agreement", "odrl:Offer"],
"dpv:hasObligation": {"@id": "p7012:ServiceDeliveryRequired"},
"dpv:hasProhibition": [
{"@id": "p7012:Analytics2PDisallowed"},
{"@id": "p7012:Tracking2PDisallowed"},
{"@id": "p7012:ProfilingDisallowed"},
{"@id": "p7012:DataSharingDisallowed"}
],
"p7012:hasHumanReadableFormat": "https://customercommons.org/human/SD-BASE",
"p7012:hasLegalReadableFormat": "https://customercommons.org/legal/SD-BASE"
}
RDF/Turtle
@prefix p7012: <https://w3id.org/dpv/standards/p7012#> .
@prefix dpv: <https://w3id.org/dpv#> .
@prefix odrl: <http://www.w3.org/ns/odrl/2/> .
<https://customercommons.org/agreements/SD-BASE>
a p7012:Agreement, odrl:Offer ;
dpv:hasObligation p7012:ServiceDeliveryRequired ;
dpv:hasProhibition p7012:Analytics2PDisallowed,
p7012:Tracking2PDisallowed,
p7012:ProfilingDisallowed,
p7012:DataSharingDisallowed .
Enforcement Architecture
Cookie/Tracker Classification
When agreement is signed, Swordsman classifies all site resources:
function classifyResource(resource, agreement) {
const classification = {
permitted: [], // Allowed under agreement
forbidden: [], // Prohibited under agreement
unknown: [] // Requires analysis
};
if (agreement.permissions.analytics2P) {
// First-party analytics permitted
classification.permitted.push(...firstPartyAnalytics);
} else {
classification.forbidden.push(...firstPartyAnalytics);
}
// Third-party resources always evaluated against agreement
thirdPartyResources.forEach(resource => {
if (agreement.prohibitions.sharingAnonymized3P) {
classification.forbidden.push(resource);
}
});
return classification;
}
Selective Enforcement
function enforce(classification) {
// Slash forbidden resources
classification.forbidden.forEach(resource => {
blockResource(resource);
chronicle.log('BLOCKED', resource, agreement.id);
});
// Permit allowed resources
classification.permitted.forEach(resource => {
allowResource(resource);
chronicle.log('PERMITTED', resource, agreement.id);
});
}
Visual Feedback (Cursor State)
| State | Cursor | Meaning |
|---|---|---|
| No agreement | Default | Site doesn't support P7012 |
| Agreement pending | โ๏ธ | Negotiation in progress |
| Agreement signed | โ๏ธโ๏ธ | Contract bound, enforcing |
| Agreement violated | โ๏ธโ ๏ธ | Breach detected, logging |
| Custom (positive site) | [Custom] | User-selected cursor for trusted sites |
Chronicle System (Bilateral Records)
Record Structure
const chronicleEntry = {
id: "uuid-v4",
timestamp: "2026-01-28T12:00:00Z",
agreement: {
id: "SD-BASE",
version: "1.0",
registry: "https://customercommons.org/agreements/"
},
parties: {
firstParty: {
identifier: "pseudonymous-id", // No PII required
signature: "cryptographic-signature"
},
secondParty: {
domain: "example.com",
identifier: "entity-id",
signature: "cryptographic-signature"
}
},
enforcement: {
resourcesBlocked: 47,
resourcesPermitted: 26,
violations: []
},
status: "BOUND"
};
Storage Architecture
First Person Storage (Sovereign)
โโโ /agreements/
โ โโโ example.com.json
โ โโโ news-site.com.json
โ โโโ ...
โโโ /chronicles/
โ โโโ 2026-01-28/
โ โ โโโ example.com.log
โ โ โโโ ...
โ โโโ ...
โโโ /disputes/
โโโ (if any violations documented)
Entity Storage (Their Compliance Records)
โโโ Identical agreement copy
โโโ Compliance audit trail
โโโ (Their responsibility to maintain)
Integration Points
With Mage Agent (Delegation)
The Swordsman establishes boundaries; the Mage operates within them:
First Person authorizes delegation scope
โ
Swordsman negotiates MyTerms with service
โ
Agreement defines permitted data flows
โ
Mage operates within permitted scope only
โ
Chronicle records all actions
โ
Violations trigger Swordsman enforcement
With Privacy Pools (x402)
For financial privacy integration:
MyTerms Agreement (SD-BASE-DP) establishes relationship
โ
x402 payment header attached to request
โ
Privacy Pool membership proven via ZK
โ
Payment flows through shielded channel
โ
Service delivery under MyTerms obligations
โ
Data portability returns transaction records
With VRCs (Verifiable Relationship Credentials)
Signed MyTerms agreements become the basis for VRCs:
MyTerms Agreement signed
โ
Both parties have bilateral proof
โ
Consistent behavior over time
โ
VRC formed from accumulated trust evidence
โ
VRC portable across contexts
โ
Reputation without surveillance
Implementation Roadmap
Phase 1: Core Protocol (Q1 2026)
- P7012 protocol negotiation
- SD-BASE / SD-BASE-DP implementation
- HTTP header support (MRPAZ)
- Basic chronicle recording
- Cursor state feedback
Phase 2: Full Agreement Suite (Q2 2026)
- SD-BASE-A through SD-BASE-ATP-S3P
- PDC-INTENT integration
- JSON-LD format generation
- CONTRACT ZONE bitwise encoding
- Advanced enforcement classification
Phase 3: Ecosystem Integration (Q3 2026)
- PDC-AI, PDC-GOOD agreements
- Mage agent coordination
- Privacy Pools integration
- VRC generation from agreements
- Dispute documentation system
Phase 4: Advanced Features (Q4 2026+)
- Cross-site agreement coordination
- Agreement template marketplace
- Automated violation detection
- Regulatory reporting support
- Progressive decentralization of chronicle storage
Compliance Notes
GDPR Alignment
IEEE 7012 supports GDPR compliance through:
- Consent recorded bilaterally (Article 7)
- Purpose limitation enforced (Article 5)
- Data portability enabled (Article 20)
- Audit trail for accountability (Article 5)
CCPA Alignment
Supports CCPA through:
- "Do Not Sell" enforced via agreement prohibitions
- Opt-out recorded with bilateral proof
- Access requests supported via data portability
Standard Compliance
All implementations will be validated against:
- IEEE 7012-2025 normative requirements
- Customer Commons agreement definitions
- W3C Data Privacy Vocabulary semantics
- ODRL expression compatibility
Conclusion
This technical integration plan demonstrates that agentprivacy's Swordsman agent is designed around IEEE 7012 as the agreement layer. The standard specifies what is agreed between the First Person and the Entity; the Swordsman, Mage, and ZK substrate together specify what is enforced. IEEE 7012 compliance is a precondition for the PVM ฮฃ axis being measurable, not a substitute for the architecture that makes ฮฃ โ 1 achievable.
The blade enforces what the contract establishes โ and only what the contract establishes.
Defensible headline claim
IEEE 7012-2025 provides the agreement layer agentprivacy's dual-agent architecture requires. Compliance with the standard is a precondition for the ฮฃ (agent) axis being measurable, and enables bilateral chronicles that can serve as evidentiary basis for VRCs. Standard compliance alone is not equivalent to the full agentprivacy architecture; the standard specifies agreement, not enforcement.
Technical specifications subject to evolution based on implementation experience and standard clarifications.
โ๏ธ๐โ๏ธ๐
Assets
Source: myterms/C_technical_integration.md
upstream: github.com/mitchuski/myterms ยท the git repo is the source of truth; this page is a projection that records its origin ยท sigil โ๏ธ๐โ๏ธ๐ ยท author: Mitchell Travers ยท (โ๏ธโฅโฟปโฅ๐ง)๐
โ Welcome Visitors