ADVANCED SECURITY
AMD SEV-SNP architecture guaranteeing technical impossibility of extracting your trading strategies, even with full administrator access.
– Definition
Trustless is not 'we promise to be careful with your data.' It is a stronger claim: the proof your report carries does not depend on us being honest, competent, or even still in business when someone reads it.
Concretely, the data flow is structured so that no human at AuditZK can read what you send, modify what was computed, or forge a report after the fact. The hardware enforces those properties; we don't.
– Fundamentals
The aggregator runs in an AMD SEV-SNP enclave where data extraction is technically impossible.
01
Inviolable hardware security perimeter, even in case of system compromise.
02
Verify yourself from your terminal using AMD tools.
YOUR DATA
████████████
██████████████
████████
Permanently encrypted
– Threat model
Most platforms ask you to trust them and everything around them. Trustless removes that requirement. The proof remains valid even if every party below acts in bad faith.
Our engineers cannot read your API keys or your individual trades. The hardware key never leaves the silicon, so even root access to our servers reveals encrypted memory.
We cannot forge a report. The signing key is bound to a specific enclave measurement; any change to the code that produces the report invalidates the attestation.
The hypervisor and the host OS run outside the enclave. They cannot decrypt enclave memory, and that is enforced by the chip, not by policy.
Credentials travel directly to the enclave over an ECDH-negotiated channel whose TLS certificate is bound to the enclave attestation. A man-in-the-middle on our infrastructure cannot reuse those credentials.
If AuditZK is acquired, sold, or shut down, attestations already embedded in old reports remain verifiable. A new owner cannot retroactively sign forged history under our identity.
The script generated in your dashboard encrypts your credentials in your terminal with the public key the enclave publishes in its attestation, then sends them to the enclave host. Our website and API servers never see them. It carries a sign-in token valid for 15 minutes.
# AuditZK E2E Connection: binance
# ECIES (ECDH P-256 + HKDF-SHA256 + AES-256-GCM)
# Requires: pip install cryptography
import json, os, ssl, sys, urllib.request, urllib.error
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives import hashes, serialization
from cryptography.hazmat.primitives.kdf.hkdf import HKDF
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
# Configuration: replace the placeholder values
USER_UID = "YOUR_SERVICE_UID"
EXCHANGE = "binance"
API_KEY = "YOUR_API_KEY"
API_SECRET = "YOUR_API_SECRET"
# Sign-in token for your account, valid 15 minutes from generation. Do not share this script.
TOKEN = "YOUR_SESSION_TOKEN"
ENCLAVE_URL = "https://enclave.auditzk.com"
print("Connecting to AuditZK enclave (E2E encrypted)...")
ctx = ssl.create_default_context()
try:
# 1. Fetch the enclave's E2E public key from its attestation
with urllib.request.urlopen(f"{ENCLAVE_URL}/api/v1/attestation", context=ctx) as r:
att = json.loads(r.read())
print(f" Enclave E2E key fingerprint: {att['e2eEncryption']['publicKeyFingerprint'][:16]}...")
# 2. Encrypt the credentials here, before anything leaves this machine
pub = serialization.load_pem_public_key(att["e2eEncryption"]["publicKey"].encode())
eph = ec.generate_private_key(ec.SECP256R1())
shared = eph.exchange(ec.ECDH(), pub)
aes_key = HKDF(algorithm=hashes.SHA256(), length=32, salt=None, info=b"enclave-e2e-encryption").derive(shared)
iv = os.urandom(12)
creds = json.dumps({"api_key": API_KEY, "api_secret": API_SECRET})
ct = AESGCM(aes_key).encrypt(iv, creds.encode(), None)
eph_pem = eph.public_key().public_bytes(serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo).decode()
print(" Credentials encrypted (AES-256-GCM)")
# 3. Send the ciphertext to the enclave
payload = json.dumps({
"user_uid": USER_UID, "exchange": EXCHANGE, "label": f"{EXCHANGE} account",
"encrypted": { "ephemeralPublicKey": eph_pem, "iv": iv.hex(), "ciphertext": ct[:-16].hex(), "tag": ct[-16:].hex() }
})
req = urllib.request.Request(f"{ENCLAVE_URL}/api/v1/credentials/connect", data=payload.encode(),
headers={"Content-Type": "application/json", "Authorization": f"Bearer {TOKEN}"})
with urllib.request.urlopen(req, context=ctx) as r:
res = json.loads(r.read())
if res.get("success"):
print("SUCCESS: " + res.get("message", "Connection established"))
print("Back in your dashboard, sync your connections to see this account.")
else:
print("ERROR: " + res.get("error", "Unknown error")); sys.exit(1)
except urllib.error.HTTPError as he:
if he.code == 401:
print("\nERROR: the sign-in token has expired. Generate a new script from your dashboard."); sys.exit(1)
print(f"\nERROR: HTTP {he.code}: {he.read().decode(errors='replace')}"); sys.exit(1)
except Exception as e:
print(f"\nERROR: {e}"); sys.exit(1)Requires an AuditZK account
– Traditional vs Trustless
A traditional report lives on a platform's servers: the proof depends on the platform. A trustless report carries its proof with it: the platform can disappear, the proof remains.
| Axis | Traditional reporting | Trustless reporting |
|---|---|---|
| Source of proof | Platform-controlled record | Hardware attestation embedded in the report |
| Editable after the fact | The platform can rewrite history | Any change invalidates the signature |
| Offline verification | Requires the platform to be online | Anyone can verify with public AMD tools |
| Dependence on the vendor | Vendor lock, proof dies if the company dies | The proof outlives the vendor |
| Operator access to your data | Full read access | None, even with root privileges |
| Strategy exposure | Often required to verify performance | Aggregated metrics only, trades never leave the enclave |
– Cryptographic properties
Hardware cryptographic properties guaranteeing technical impossibility of extraction.
01
02
03
Generate your cryptographically certified performance reports.