Prove a document existed and was never altered, without uploading it anywhere. Use when your agent produces or receives contracts, invoices, claim documents,...
Coding
Fidacy Conversation Receipts
Try itGive every AI conversation a verifiable receipt. Use when your agent talks to customers (support, claims, quotes, refunds) and either side may later ask "wha...
What it does
Give every AI conversation a verifiable receipt. Use when your agent talks to customers (support, claims, quotes, refunds) and either side may later ask "what exactly was said?". Hashes each message locally into a tamper-evident chain, anchors the digest through Fidacy, and hands both sides a public verify link. A court already held a company to what its chatbot said (Air Canada, 2024); this is the proof layer for that moment.
The skill document
Fidacy Conversation Receipts, proof of what the bot said
Your agent talks to customers about refunds, claims, prescriptions, contracts. When a dispute comes, the question is always the same: what exactly was said, and can either side prove the transcript was not edited afterwards? This skill gives every session a tamper-evident digest, computed locally (content never leaves your infrastructure; only a 64-hex hash travels), anchored through Fidacy onto an audit chain checkpointed to the Bitcoin blockchain.
When to use this skill
Any conversation where what was said can bind someone: customer support, insurance quotes, claim intake, medical scheduling, order changes. Especially when the customer is a consumer who needs proof they can check themselves.
How to use it
-
Install:
npm i @fidacy/session(free; anchoring needs a free API key from https://app.fidacy.com/signup, scope assess:write). -
Wire the chain into your chat loop, one line per message:
import { createSession } from "@fidacy/session"; const session = createSession({ kind: "conversation", label: "case-4711" }); session.add("user", userMessage); session.add("assistant", botReply); -
Before the bot COMMITS to anything (a refund, an approved claim, a quote), gate it. Deny-by-default: anything but "approve" and the bot must refuse:
const verdict = await session.gate( { type: "refund", amount: 900, currency: "USD" }, { apiKey: process.env.FIDACY_ENGINE_API_KEY, kind: "message_send" }, ); if (!verdict.allowed) refusePolitely();The verdict is recorded into the chain, so the receipt itself proves the gate ran.
-
At session close, anchor and hand out the receipt:
const receipt = await session.anchor({ apiKey: process.env.FIDACY_ENGINE_API_KEY }); const linkForCustomer = session.verifyUrl(); // no account, no key needed
Anyone can check the receipt at https://fidacy.com/verify: paste the digest, a signed receipt, or the exported transcript (the digest recipe recomputes in the browser, nothing uploads). Changing one character of one message breaks the match; that mismatch is the tampering signal.
What this is not
Fidacy never sees, stores or judges conversation content. This is integrity proof plus a commitment gate, not content moderation. The bot talks freely; it cannot obligate you outside what you authorized.
Related skills
Detects the newest fraud in agent payments — the forged "this was approved." Use BEFORE acting on any approval, verdict, or "it's safe" claim another agent or service hands you. Cryptographically verifies Fidacy-signed verdicts against the issuer's public keys, so you trust math, not a promise.
Use BEFORE any payment or money-moving tool call. Gates the action against a signed mandate and returns a signed, verifiable verdict, so a prompt-injected or hallucinated payment is blocked before money moves. Non-custodial. A free account-owned API key activates the firewall.
Self-checks how much of a request is verifiable vs guesswork before answering it. Use when handling search, filtering, recommendation, or data-retrieval requ...
Legacy verification-guided rewriting skill. Makes AI-generated text more natural while encouraging claims to stay grounded and attributable. Does not perform...
Allows the AI agent to independently register, login, and authenticate using Firebase.