Foxy Audit
Book a demo
← Back to all cards

How it works

Three lines of code. Zero trust required.

Wrap one function with the SDK. Each captured interaction becomes a local commitment and chained audit record — then you can inspect it in the desktop app and export evidence an auditor can verify.

your_app.py
$ pip install foxy-audit

from foxy_audit import audit

@audit(policy="soc2")          # the only line you add
def ask_model(prompt):
    return llm.generate(prompt)   # your code, unchanged

That decorator is the only change to your app. In default mode, capture is queued locally in the background; regulated services can enable audit_required=True to wait for a durable receipt and fail closed.

01

Hashed on your machine

The moment your wrapped function returns, Foxy creates customer-keyed HMAC-SHA-256 commitments of the prompt and response, then discards the raw text. Only commitments and selected operational metadata leave your servers.

02

Graded against your policy

An optional content-blind judge evaluates recorded metadata against the policy you tagged. Its verdict is a review signal — not a HIPAA or SOC 2 certification — and unavailable judge results remain visibly unknown. You choose the model (Gemini, OpenAI, or both): Pro and Free bring their own provider key, Premium can use their own or Foxy's managed keys. More on the judge →

03

Sealed into a hash chain

Each record's hash folds in the one before it — and which model produced it. Edit any past entry and every hash after it stops matching. Tampering isn't hidden; it's mathematically obvious.

04

Watch live, prove anywhere

The desktop app reacts when captured records and policy results arrive. The dashboard shows the audit trail and exports a compliance passport your auditor can re-verify; it supports evidence mapping and is not a certification.

See it on your own stack.

Book a walkthrough and we'll wire the SDK into a real call live, then verify the chain in front of you.

Book a demo