permisyn
HomeGet a Trust Score →
Public Transparency Log

Certificate Transparency for AI

Every compliance attestation Permisyn issues is written to an append-only Merkle log.
Don't trust us — verify it yourself.

Current Signed Tree Head

Loading tree head…

Verify an attestation
Verify independently (Python)
import hashlib
def _sha256(s): return hashlib.sha256(s.encode()).hexdigest()
def _node(l, r): return _sha256(f'node:{l}{r}')

def verify(leaf_hash, proof, root_hash, leaf_index):
    node, idx = leaf_hash, leaf_index
    for sib in proof:
        node = _node(node, sib) if idx % 2 == 0 else _node(sib, node)
        idx //= 2
    return node == root_hash

# Fetch proof + head from the public API, then:
# verify(p['leaf_hash'], p['proof'], p['root_hash'], p['leaf_index']) -> True

Public API: GET /transparency/proof/{id} · GET /transparency/head — no API key required.

Anchor chain

Each anchor pins a tree head and links to the previous one. Pin the latest anchor hash externally and Permisyn can never rewrite history without breaking the chain.

No anchors sealed yet — the first is created on the next hourly tick.

Recent log entries

No entries yet.