How privacy-tech-lab/gpc-ai-agents-prototypes works
This repository is a suite of eight experimental AI-agent workflows, each testing where and how a Global Privacy Control (GPC) or related privacy policy is enforced. The common user journey is a request entering an orchestrator, passing through that prototype’s enforcement boundary, and reaching tools or downstream uses; the primary task may remain available even when secondary data use is blocked. The graph preserves the README’s distinct enforcement approaches. Some internal wiring is inferred only from the README and file tree, so uncertain links are omitted.
Main entry points: prototype-3/orchestrator.js P3 orchestrator · prototype-6/orchestrator.js P6 orchestrator · orchestrator/orchestrator.js P2 orchestrator · orchestrator/orchestrator.js P4 orchestrator
Components 29
Agent workflows
- P1 orchestrator
prototype-1/orchestrator/orchestrator.js - P2 orchestrator
prototype-2/orchestrator/orchestrator.js - P3 orchestrator
prototype-3/orchestrator.js - P4 orchestrator
prototype-4/orchestrator/orchestrator.js - P5 orchestrator
prototype-5/orchestrator.js - P6 orchestrator
prototype-6/orchestrator.js - P7 orchestrator
prototype-7/orchestrator.js - P8 orchestrator
prototype-8/orchestrator.js
Privacy controls
- MCP GPC interceptor
prototype-1/mcp-server/gpc_policy.js - Purpose gate
prototype-2/lib/withPurposeCheck.js - Consent tool registry
prototype-3/tool_registry.js - Consent gate
prototype-3/consent_gate.js - GPC baggage
prototype-4/orchestrator/baggage.js - Inference firewall
prototype-5/inference_firewall.js - Collection gate
prototype-6/collection_gate.js - Persistence gate
prototype-7/persistence_gate.js - Delegation tier gate
prototype-8/delegation_gate.js
Tools and services
- Profile storage
prototype-1/services/storage.js - Secondary purposes
prototype-2/services - MCP tools
prototype-3/tool_handlers.js - Publisher enforcement
prototype-4/services/site_handlers.js - Attribute inference
prototype-5/inference_engine.js - Attribute classifier
prototype-6/inference_classifier.js - Trip actions
prototype-8/action_handlers.js
State and providers
- Provider fanout
prototype-4/provider/provider.js - Profile store
prototype-5/profile_store.js - Session stores
prototype-6/stores.js - Agent memory
prototype-7/memory_store.js
Other components
- User
Connections 28
- User → P1 orchestrator: submits request
- User → P2 orchestrator: submits request
- User → P3 orchestrator: submits request
- User → P4 orchestrator: submits request
- User → P5 orchestrator: submits request
- User → P6 orchestrator: submits request
- User → P7 orchestrator: submits request
- User → P8 orchestrator: submits request
- P1 orchestrator → Profile storage: requests storage
- Profile storage → MCP GPC interceptor: calls MCP tools
- P2 orchestrator → Purpose gate: gates secondary uses
- P2 orchestrator → Secondary purposes: fans out output
- P3 orchestrator → Consent tool registry: filters catalog
- P3 orchestrator → Consent gate: checks tool consent
- P3 orchestrator → MCP tools: calls allowed tools
- P4 orchestrator → GPC baggage: propagates signal
- P4 orchestrator → Provider fanout: dispatches queries
- Provider fanout → Publisher enforcement: fans out queries
- P5 orchestrator → Inference firewall: checks inference
- P5 orchestrator → Attribute inference: derives attributes
- Attribute inference → Profile store: writes attributes
- P6 orchestrator → Collection gate: checks collection
- P6 orchestrator → Attribute classifier: requests classification
- P6 orchestrator → Session stores: uses session state
- P7 orchestrator → Persistence gate: checks persistence
- P7 orchestrator → Agent memory: reads and writes
- P8 orchestrator → Delegation tier gate: resolves delegation tier
- P8 orchestrator → Trip actions: dispatches permitted actions