ComplianceVerifier
Overview
ComplianceVerifier.circom is a zero-knowledge circuit for verifying that an AI agent adheres to regulatory compliance standards such as GDPR, HIPAA, or custom internal policies. It allows AI service providers to prove that:
Data privacy and handling metrics exceed required thresholds.
Encryption standards meet cryptographic benchmarks.
Data-type permissions are explicitly stated and encoded.
All of this is done without revealing individual test results, providing cryptographic assurance of compliance via zk-SNARKs.
Objectives
The circuit proves the following:
Privacy Compliance: Each privacy test score ≥
min_privacy_score.Data Handling Compliance: Each score ≥
min_data_handling_score.Encryption Compliance: Each encryption score ≥ 800 (80%).
Supported Data Types: Permission set encoded in a public bitmask.
Commitment Integrity: A hash of all compliance metrics is tied to the agent's ID and a previously committed
compliance_commitment_hash.
Inputs
Private Inputs
Privacy Scores
privacy_protection_scores[n]
Score per test (0–1000)
Data Handling Scores
data_handling_scores[n]
Score per test (0–1000)
Encryption Scores
encryption_standards[n]
Score per test (0–1000), threshold hardcoded as 800
Data Permissions
data_category_permissions[n]
0 or 1 for each data type
Retention Policies
retention_policies[n]
(Unused, placeholder for future constraints)
Public Inputs
required_compliance_standard
Regulatory mode (e.g., 1 = GDPR, 2 = HIPAA)
min_privacy_score
Minimum acceptable score for privacy tests
min_data_handling_score
Minimum acceptable score for data handling
agent_id
Unique identifier of the agent
compliance_commitment_hash
Poseidon hash commitment from pre-verification phase
Public Outputs
compliance_verified
1 if all privacy, handling, and encryption pass
privacy_level
Average score across all privacy protection tests
data_handling_level
Average score across data handling tests
compliance_proof_hash
ZK proof hash used to bind inputs into a verifiable claim
supported_data_types
Bitmask representation of allowed data categories
Circuit Logic
1. Privacy Compliance
Each privacy score is passed to a GreaterEqThan component. Their outputs are binary (1 = valid).
All outputs are multiplied to compute privacy_product.
Average privacy score is calculated for metadata.
2. Data Handling Compliance
Same structure as privacy compliance.
3. Encryption Standard Compliance
Minimum encryption requirement is hardcoded to 800. Each score must be ≥ 800.
4. Final Compliance Verification
The compliance result is computed as:
5. Supported Data Types Encoding
A separate circuit, DataTypeEncoder, encodes the binary permissions into a bitmask:
6. Proof Hash
A commitment hash of all compliance-relevant outputs:
Compilation
Proof Generation
Integration
Agent publishes
compliance_commitment_hashbefore model deployment.Circuit generates proof for compliance against fixed thresholds.
compliance_verified == 1implies on-chain verifiability of standards adherence.Contract may emit reputation NFT or trigger agent indexing on success.
Security
Only aggregate outputs are public; all granular compliance metrics remain hidden.
Hash-based binding ensures integrity with minimal leakage.
Future extensions include:
retention_policiesconstraints (currently passive)Rule-based overrides for sector-specific compliance (e.g., financial vs. health)
External audit logs linked to ZK claims
Status
Stable
Retention policy constraints and multi-jurisdictional logic are under development.
Last updated