Security Transparency

Our signing key is public. Our signatures are verifiable. Our reports can't be forged. Everything below is open for inspection — no trust required.

Cryptographic Proof — Open for Inspection

Probatum signs every audit entry and compliance credential with an Ed25519 key. The public key is published openly so anyone can verify signatures without contacting us.

Verify your audit log offline →

Your auditor can re-compute the hash chain on any audit export with 180 lines of Python and no Probatum installation. The same verifier we use is in our public repo.

Read the verification guide
probatum-verify · open source · MITDownload CLI →
# Verify any Probatum-issued Verifiable Credential, offline
# Install from GitHub Releases (see /resources/verifier)
cargo install --git https://github.com/balbboa/probatum probatum-verify
probatum-verify ./report.vc.json
# → signature: OK (Ed25519, did:key:z6Mk...)
# → chain:     OK (12 entries, prev_hash matches)
# → status:    OK (StatusList2021 index 4f8a not revoked)

Live verifier · runs in your browser

idle
  1. Click Verify to run the 7-step check.

This demo runs entirely in your browser using @noble/ed25519. For the bundled sample VC, step 4 is a real Ed25519 cryptographic signature check. For any other pasted credential, step 4 is a structural check only — the verdict reads “structurally valid” instead of “valid.” The production CLI (probatum-verify) performs full cryptographic verification against the issuer’s DID document for every credential.

Audit Chain Schema

Each audit log entry contains a SHA-256 hash chained to the previous entry using the formula:

entry_hash = SHA256(
  previous_hash + trace_id + user +
  timestamp + question_hash + event_type
)

Tampering with any field in any entry invalidates every hash that follows. The chain is verified client-side in your browser — no server round-trip. Maps to SOC 2 CC7.2 (monitoring) and ISO 27001 A.12.4 (logging).

What Stays Local

✓ On Your Machine

  • • Source documents
  • • Document embeddings
  • • PostgreSQL with vector search
  • • Local LLM inference

↗ Cloud Control Plane

  • • Query text
  • • Generated answers
  • • Ed25519-signed audit entries
  • • License management

Encryption & Access Control

  • In Transit: TLS 1.3 for all API communications.
  • At Rest: Cloud data is stored on an AES-256-encrypted volume.
  • Credentials: Ed25519-signed W3C VCs — independently verifiable, unforgeable.
  • RBAC: Admin, Analyst, Viewer roles — granular per-framework access gating.

Responsible AI by Design

Citation-Per-Claim Grounding

Every claim in every answer cites its source chunk. Claims not found in evidence are flagged. Confidence is penalized per hallucinated citation — so you never cite a fabrication in an audit.

Cross-Encoder Reranking

Retrieved evidence is reranked by a cross-encoder reranking model before synthesis. Higher relevance, fewer spurious citations.

25-Step Agentic Pipeline

Queries run through a chain-verified, deterministic agentic loop. Every step is observable, every answer is reproducible.

Circuit-Breaker Reliability

Embedding calls are guarded by an async circuit breaker (3-failure threshold, 30s reset). A slow inference run returns a partial answer — never a hanging request.

Sub-Processors

Third-party services that process data on our behalf. Customer documents never reach any of these — they stay on the device that ran the query. Hosted-service metadata (account email, license key, billing info) flows to the providers below.

ProviderPurposeData sharedLocationDPA
StripePayment processingBilling email, card token (we never see card numbers)US (DPF-certified)link
MailgunTransactional emailEmail address, message body for password reset / verificationUS/EUlink
HetznerHosting (control-plane + rag-engine SaaS tier)All hosted dataEU (Germany)link
BetterStackUptime monitoring + status pageHealth-check ping metadata only — no app dataEUlink
SentryError tracking (hosted services only — desktop never reports)Stack traces with PII scrubbed by our before_send hookUS/EUlink
TermlyPolicy hosting + revisionsNo customer data — static page content onlyUSlink

Changes to this list are announced 30 days in advance in our CHANGELOG.

Our Compliance Posture

We deliberately don't lead with a SOC 2 status badge. Probatum is the tool your auditor uses to verify your compliance — our differentiator is the verifier CLI and the hash-chained audit log, not a self-attestation page.

We will pursue our own SOC 2 Type II when first asked by an Enterprise customer's procurement team. Until then, the strongest evidence we know how compliance works is that you can take any report we produce and verify it yourself in 180 lines of Python.

Vulnerability Disclosure

Found a security issue? Email security@probatumapp.com. Machine-readable policy: /.well-known/security.txt.

  • Acknowledgement: within 48 hours.
  • Remediation target: 90 days from acknowledgement, sooner for critical issues.
  • Safe harbor: good-faith research that respects user data and stays out of production systems will not be pursued legally.
  • Bug bounty: none currently — pre-launch. Will be reconsidered post-GA.

Last updated: May 2026