Privacy-Preserving Compliance Attestation SDK with Zcash blockchain anchoring
Project description
๐ CompZ
Privacy-Preserving Compliance Attestation SDK
Anchor compliance proofs to Zcash blockchain without revealing sensitive data
Features โข Quick Start โข Architecture โข API โข Documentation โข Contributing
๐ Overview
CompZ is a lightweight, open-source SDK that transforms compliance evaluations into cryptographic proofs anchored on the Zcash blockchain. It enables:
โ
Immutable audit trails - Blockchain-backed compliance records
โ
Privacy preservation - Only hashes on-chain, sensitive data stays private
โ
Tamper detection - Cryptographic verification of compliance data
โ
Timestamp proofs - Blockchain proves "when" compliance was checked
โ
Zero-knowledge ready - Compatible with ZK proof systems
Use Cases
- ๐ข Enterprise Compliance - Prove SOC2/ISO27001/PCI compliance without revealing architecture
- ๐ Security Audits - Immutable records of vulnerability assessments
- ๐ Regulatory Reporting - Tamper-proof compliance evidence for auditors
- โก DevSecOps - CI/CD pipeline compliance attestations
- ๐ Web3 Projects - DeFi protocol compliance for regulators
โจ Key Features
๐ฏ Compliance Rule Evaluation
Built-in evaluators for major frameworks:
| Framework | Controls | Description |
|---|---|---|
| ๐ฆ PCI DSS | 5 sample controls | Payment card security (firewall, encryption, MFA, logging) |
| ๐ฉ SOC 2 Security | 5 sample controls | Trust services criteria (access, risk, monitoring) |
| ๐ง FedRAMP Moderate | 8 NIST 800-53 controls | Federal security requirements (AC-2, AU-2, CM-2, etc.) |
๐ Privacy-Preserving Design
โโโโโโโโโโโโโโโโโโโโโโโ
โ Sensitive Data โ โ Stays in your environment
โ - Source code โ
โ - Configs โ
โ - Credentials โ
โ - Business logic โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โผ SHA-256 Hash
โโโโโโโโโโโโโโโโโโโโโโโ
โ 0xabc123def456... โ โ Only this goes on-chain
โโโโโโโโโโโโโโโโโโโโโโโ
No sensitive data ever leaves your infrastructure.
๐ Zcash Blockchain Anchoring
- โ Shielded transactions with 512-byte memo field
- โ Privacy-first - Transaction details encrypted
- โ Testnet & Mainnet support
- โ Low fees (~$0.001 per attestation)
- โ 2.5 min block time for confirmations
โ Cryptographic Verification
# Anchor compliance data
$ compz anchor compliance.json
โ Hash: 0xabc123...
โ TXID: 9c8f7e6d...
# Verify later (or share with auditor)
$ compz verify compliance.json 9c8f7e6d...
โ โ
VALID - Hashes match
โ Block: 2500123
โ Timestamp: 2024-01-01 10:30:00 UTC
๐ง Integration Ready
Works standalone or integrates with:
- CompliLedger - AI-driven compliance platform
- COMP-LEO - Compliance orchestration engine
- GitHub Sentinel - Repository security monitoring
- Any CI/CD pipeline - Jenkins, GitLab, GitHub Actions
- SBOM/SCA tools - SPDX, CycloneDX, Snyk, etc.
๐ Quickstart
Prerequisites
- Python 3.10 or higher
- Access to a Zcash node (testnet or mainnet)
- Basic understanding of JSON and command-line tools
Step 1: Installation
# Clone the repository
git clone https://github.com/Compliledger/CompZ.git
cd CompZ
# Install dependencies
pip install -e .
Note: PyPI release coming soon. For now, install from source using
pip install -e .
Quick Start Options
Option 1: Local Mode (No Setup Required)
- Hashing and verification work immediately
- No blockchain connection needed
- Perfect for testing the SDK
# Try it now - no configuration required!
compz status
Option 2: Self-Hosted Mode (Full Blockchain Integration)
- Requires Zcash node setup
- Enables real on-chain anchoring
- See configuration steps below
Step 2: Set Up Zcash Node
โ ๏ธ Optional: Only required for self-hosted mode with real blockchain anchoring. You can skip this and use local mode or Zashi wallet integration instead.
Option A: Docker (Recommended for Testing)
# Run Zcash testnet node
docker run -d \
--name zcash-testnet \
-p 18232:18232 \
-v ~/.zcash:/root/.zcash \
electriccoinco/zcashd \
-testnet \
-rpcuser=compz \
-rpcpassword=your_secure_password \
-rpcallowip=127.0.0.1
# Wait for sync (2-4 hours for testnet)
docker exec zcash-testnet zcash-cli -testnet getblockchaininfo
Option B: Use Existing Node
If you already have a Zcash node running, just configure the connection.
Step 3: Configure Environment
For self-hosted mode only. Copy the template and configure:
cp .env.example .env
# Edit .env with your Zcash node credentials
Example .env configuration:
# .env
ZCASH_RPC_URL=http://127.0.0.1:18232
ZCASH_RPC_USER=compz
ZCASH_RPC_PASS=your_secure_password
ZCASH_DEFAULT_ADDRESS=ztestsapling1... # Your z-address
ZCASH_TESTNET=true
Generate a z-address:
# Create a new shielded address
docker exec zcash-testnet zcash-cli -testnet z_getnewaddress sapling
# Get testnet funds from faucet
# Visit: https://faucet.testnet.z.cash/
Step 4: Run Your First Attestation
# Anchor compliance data to Zcash
compz anchor examples/compliance_result.json
# Output:
# {
# "hash": "0xabc123def456...",
# "txid": "9c8f7e6d5c4b3a2...",
# "network": "testnet",
# "timestamp": "2024-01-01T10:30:00Z",
# "block_height": 2500123,
# "explorer_url": "https://explorer.testnet.z.cash/tx/9c8f..."
# }
Step 5: Verify the Attestation
# Verify compliance data matches blockchain record
compz verify examples/compliance_result.json 9c8f7e6d5c4b3a2...
# Output:
# โ
VALID - Compliance data matches blockchain record
# {
# "valid": true,
# "local_hash": "0xabc123def456...",
# "onchain_hash": "0xabc123def456...",
# "txid": "9c8f7e6d5c4b3a2...",
# "block_time": "2024-01-01T10:30:00Z",
# "confirmations": 42
# }
Step 6: Try Tampering (Demo)
# Edit the JSON file (change any value)
# Then try to verify again
compz verify examples/compliance_result.json 9c8f7e6d5c4b3a2...
# Output:
# โ INVALID - Hash mismatch detected
# {
# "valid": false,
# "local_hash": "0xDIFFERENT...",
# "onchain_hash": "0xabc123def456...",
# "reason": "Data has been tampered with"
# }
๐ง How CompZ Works
- Input โ Raw System Payload
You supply system metadata (e.g., config settings) in JSON.
- Rule Evaluation
CompZ evaluates this data against minimal demonstrative control sets:
PCI DSS (5 controls) โข Firewall rules โข Secure defaults โข PAN encryption โข MFA โข Logging
SOC 2 Security (5 controls) โข Access policies โข Risk assessment โข Change management โข Monitoring โข Business continuity
FedRAMP Moderate (8 NIST controls) โข AC-2, AC-3, AU-2, AU-6 โข CM-2, CM-6 โข SC-13 โข SI-2
Output is a structured ComplianceResult object.
โธป
- Normalization
ComplianceResult โ Deterministic normalized JSON: โข Sorted keys โข UTF-8 safe โข No whitespace variance
โธป
- Hashing
SHA-256 hash returned as: 0x This is the privacy-preserving compliance attestation.
โธป
- Zcash Anchoring
CompZ: โข Connects to a Zcash node โข Creates a transaction โข Embeds the hash in the memo field โข Returns the transaction ID for auditability
โธป
- Verification
Given: โข The original JSON โข A Zcash txid
CompZ will: โข Recompute the hash locally โข Retrieve memo/OP_RETURN from Zcash โข Compare hashes โข Output match = true or false
โธป
๐งช Example Directory Layout CompZ/ โโโ compz/ โ โโโ models.py โ โโโ evaluator.py โ โโโ normalize.py โ โโโ hash.py โ โโโ zcash_client.py โ โโโ anchor.py โ โโโ verify.py โโโ examples/ โ โโโ compliance_result_example.json โ โโโ run_anchor.sh โ โโโ run_verify.sh โโโ docs/ โโโ architecture.md ๐ Roadmap โข Shielded-pool anchoring โข ZK-SNARK/Circuit attestation proofs โข Full PCI/SOC2/FedRAMP/HIPAA libraries โข GitHub Sentinel integration โข CompliLedger DevSync / AuditSync integration โข DID/VC support โข Zero-Knowledge control evaluation pipelines
โธป
๐ค Contributing
Pull requests, issues, and feature requests are welcome. We encourage contributions focused on: โข Zcash memo integration โข Compliance rule expansion โข Privacy-preserving computation โข Open-source compliance tooling
โธป
๐ License
MIT License. See LICENSE for details.
โธป
๐ Built by CompliLedger
CompZ is an open-source privacy attestation toolkit from CompliLedger, an AI-driven compliance intelligence platform for regulated industries, cloud environments, stablecoins, and Web3 ecosystems.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file compz-1.0.0.tar.gz.
File metadata
- Download URL: compz-1.0.0.tar.gz
- Upload date:
- Size: 40.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78d1325e9d4c77bb613955b34cbc6acc391a4b1e994e4723c7c2a4b7713a1b12
|
|
| MD5 |
25e7a83a9446244c1e22d2130631433d
|
|
| BLAKE2b-256 |
5b739051864d71cbb146240f7b389168ec14b5bed0f1acce6b2fc5703a989adc
|
File details
Details for the file compz-1.0.0-py3-none-any.whl.
File metadata
- Download URL: compz-1.0.0-py3-none-any.whl
- Upload date:
- Size: 31.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1172e1aa1d7dfeddee5fb74a028f55cc9c50a78e4cd523053f2432e0377cea51
|
|
| MD5 |
e96c25126673457b4ccb93963fed6ebd
|
|
| BLAKE2b-256 |
35930a7e5b143f0cf0149237e2e4a3c11c76abb77a332310f4acde2bc196f449
|