Home
Home/resources/add invoance to chatgpt as a custom …
Ed25519 signaturesSHA-256 hashes8 SDKs
Status
Sign inStart free
Home
ProductMCPChatGPTCustom MCP server

Invoance in ChatGPT: Signed Records of What You Sent, What Was Checked and What the Model Said

A chat history can be edited, regenerated or deleted, which is why it cannot stand as evidence. Add Invoance to ChatGPT as a custom MCP server and the assistant writes signed records outside its own reach: documents, events and attestations of its own answers.

Adeola OkunolaFounder, Invoance26 October 2026·8 min read
On this page
  1. A chat history is not a record
  2. Install it as a plugin
  3. Every write asks you first
  4. Is this the closing statement we sent?
  5. Keep a signed attestation of ChatGPT's answer
  6. Recording that something happened
  7. Anchoring a file ChatGPT cannot hash
  8. Workspaces, plans and switching it off

A chat history is not a record

ChatGPT keeps a history of your conversations. You can edit a prompt and regenerate the answer, delete a chat, or export it. That is convenient, and it is exactly why a chat history cannot stand as evidence of what the assistant said, or of what your team sent, when it matters later. The same goes for the file you dragged into the chat: ChatGPT read it, but nothing fixed which bytes it read.

Invoance's hosted MCP server gives ChatGPT somewhere to write that is outside the chat and outside its own reach: a signed, time-stamped record in your organization's ledger, with a public proof link. Nothing in the ledger can be edited or deleted. This post is the ChatGPT setup from start to finish, then three habits worth building once it is connected.

Install it as a plugin

On chatgpt.com, open Plugins, choose +, then Add custom MCP server. Name it Invoance and paste the server URL. Choose OAuth, confirm the warning and select Create as a plugin. Install the plugin and sign in to Invoance when the browser opens app.invoance.com: passkey, password or Microsoft account, or a new account if you have none. An owner or admin approves the connection for your organization. Start a new chat, type @ and pick Invoance.

In a Business or Enterprise workspace, an admin may first need to allow custom MCP servers. Each person signs in to Invoance as themselves, so the records show who made them.

Server URL
https://mcp.invoance.com/mcp
  • MCP server Steps for every client, the tools, sign-in and usage.

Every write asks you first

ChatGPT shows you each write tool call with its arguments before the call runs, and waits for your confirmation. That is the default, and for a product whose output is a signed record it is the right one. Leave it on. The confirmation card is where you read the event type and the payload, or the document reference, and decide whether that is what you want recorded under your organization's key. Once you confirm, the record is signed and in the ledger. Reads, such as listing, fetching, checking and whoami, run without a confirmation.

That changes how you use the assistant. You are not asking ChatGPT to remember something. You are approving a record, with the same care you would give a letter on letterhead, and ChatGPT is drafting it.

What you confirm is what gets signed. Read the arguments before you approve, because there is no edit afterwards: a correction is a new record.

Is this the closing statement we sent?

A buyer's lawyer emails a closing statement back with a question, and the first thing your operations lead wants to know is whether that attachment is the file your firm issued. In ChatGPT, with the file saved somewhere handy: "@Invoance is this PDF the closing statement we sent to Hale & Partners on 14 October?"

ChatGPT finds the record with list_records, filtered by the file name and the date, then calls check_document with the record's ID and gives you the public proof page. You drop the attachment on that page. Your browser hashes it and compares the hash with the record. Nothing is uploaded, and the page needs no account, so the lawyer could have done the same.

A match means the attachment is byte for byte the file you issued at 16:40 on 14 October. No match means it changed after that, or it was never your file. Either way the answer took a minute and did not depend on anyone's memory.

Is this the version we sent?

chatgpt.com · Invoance
  1. You

    @Invoance is this PDF the closing statement we sent to Hale & Partners on 14 October?

  2. ChatGPT
    list_recordsrecord_type: documentdocument_ref: "closing-statement-hale.pdf"date_from: 2026-10-141 record · signed 2026-10-14 16:40:22Z
  3. ChatGPT
    check_documentid: 5d08a3f1-…www.invoance.com/proof/document/5d08a3f1-…

    Drop the PDF on that page. Your browser hashes it and compares the hash with the record; nothing is uploaded. A match means it is byte for byte the file you sent on 14 October.

  4. You

    No match.

  5. ChatGPT

    Then the copy that came back is not the one you issued. Your version is fixed in the record at 16:40 on 14 October; whatever changed happened after that, or the file came from somewhere else. Shall I record that the returned copy failed the check?

reads run without a confirmationpublic check, no account
Checking a returned copy. Reads need no confirmation; the proof page does the comparison in the browser.

Keep a signed attestation of ChatGPT's answer

When ChatGPT drafts something you will act on (a reading of a policy, a customer response, the summary that goes to the board), ask it to record the answer: "Record that answer as an attestation, with the model you used." ChatGPT calls attest_ai_output with the prompt, its output and the model name it reports (provider openai), and asks you to confirm. Invoance stores the SHA-256 of the input and of the output, the model fields and the time, and signs the record with your organization's key.

Later, anyone holding the answer text can hash it and compare with the record on the public proof page, or offline with your published public key. The record settles what the assistant said at that time. It records the exchange as ChatGPT passed it to the tool and as you confirmed it; it is not Invoance observing the chat, and it is not a statement that the answer was correct.

A signed record of what the model said

attest_ai_output
The exchange · as you confirmed it

ChatGPT passes the prompt, its answer and the model it reports

input

Under our retention policy, how long do we keep KYC packs for a fund that has closed?

output

Seven years from the fund's final distribution, under section 4.2 of the policy you uploaded. Packs for investors who redeemed earlier are kept seven years from their redemption date.

what is hashedthe input text and the output text, separately

The record · signed by your organization

Stored in the ledger; the texts themselves are not needed to check it

{"attestation_id": "a7c3e9d1-4b8f-4e2a-9c6d-1f0b5a8e2d47","attestation_type": "output","model_provider": "openai","model_name": "gpt-5","input_hash": "e3b0c442…b7852b85","output_hash": "5f1a9c0e…2d84f6a1","created_at": "2026-10-26T10:03:41Z","signature_alg": "ed25519"}

proof_urlwww.invoance.com/proof/ai/a7c3e9d1-…

anyone with the answer text can re-hash it and comparepublic key: api.invoance.com/v1/keys/yourco.com
What the attestation holds. The texts are hashed separately, so a changed word in either one shows.
  • How to prove your AI output The attestation record in depth, for developers.

Recording that something happened

Most records are not documents or model answers. They are facts: a pack was sent, an approval was given, a call was made. "Record that the KYC pack for Ostrava Holdings went to the fund administrator this morning" becomes a log_event call. ChatGPT proposes an event type and a payload, you read them on the confirmation card, and the record is signed.

A few habits make these records useful a year later. Event types are short dotted names: kyc_pack.sent, not a sentence. The payload holds facts you would want to find again (the counterparty, the version, the channel), not prose. Give an event_time when the thing happened earlier than the chat. And leave out secrets and personal data you do not need; the record is signed and kept, so put in what you would be content to show an auditor.

Reading back is the easy half. "What did we record last week?" lists records. "Show me that record" fetches one with its proof link. "Which organization is this connected to?" calls whoami, which is a good first question in any new chat.

The event, as it appears on the confirmation card
{
  "event_type": "kyc_pack.sent",
  "payload": {
    "counterparty": "Ostrava Holdings",
    "pack_version": "v3",
    "sent_to": "fund administrator",
    "channel": "evidence room"
  }
}

Anchoring a file ChatGPT cannot hash

Like any assistant running in a browser, ChatGPT cannot read a file's exact bytes, and a hash of the file name or of extracted text would be worthless. So anchor_document called without a hash returns a one-time link on app.invoance.com, valid for fifteen minutes. You drop the file there, your browser computes the SHA-256, only the hash is sent, and the record is written with the file name as its reference. Nothing is uploaded, and if the link expires you ask again.

Once the record exists, the proof link is what you hand out. Put it in the email that carries the file, and every recipient can check their copy without asking you.

Workspaces, plans and switching it off

The connector works on every Invoance plan, including Developer. Records written through it count against your plan the same as API calls, and the rate limit is shared with your organization's API keys. A refused call returns the API's own message (Rate limited, Not allowed), so ChatGPT can tell you why.

Each approval creates an API key that belongs to that connection, kept out of the dashboard's API keys list and limited to the scopes you approved. ChatGPT holds only short-lived tokens, which it renews itself. Connecting ChatGPT again replaces its earlier connection. To switch it off, open Settings, API Tokens, Connected apps and revoke it; the next call is refused. The records it wrote stay in the ledger, signed, as every record does.

  • Pricing What each plan includes.
  • Verification Checking a record on the public page, by API or offline.
On this page
  1. A chat history is not a record
  2. Install it as a plugin
  3. Every write asks you first
  4. Is this the closing statement we sent?
  5. Keep a signed attestation of ChatGPT's answer
  6. Recording that something happened
  7. Anchoring a file ChatGPT cannot hash
  8. Workspaces, plans and switching it off
Adeola Okunola

Adeola Okunola

Founder, Invoance
About the author

I'm Adeola, founder of Invoance.

I build proof infrastructure for audit logs, AI attestations, and business records that need to stand up to security, compliance, and legal scrutiny.

Most systems document what happened. Invoance helps prove it.

All articles by Adeola
Related product

AI Attestation

The evidence layer for AI agent actions: what an agent was asked, what it decided, and what it did.

Open AI Attestation
Keep readingAll articles
Product8 min read

Use Invoance From Claude: Anchor a Document, Check a Copy, Keep the Proof

Add https://mcp.invoance.com/mcp as a custom connector and Claude can write signed records for your organization and check them later, with no SDK and no API key to handle. The setup, what the approval actually grants, and the first three things to try.

Adeola Okunola·26 October 2026Read
AI Governance10 min read

AI Attestation: What It Is, Why It Matters, and How to Implement It

AI systems make decisions that affect loans, diagnoses, hiring, and contracts. When those decisions are challenged, organizations need proof of what the model produced, when, and with what inputs. AI attestation provides that proof.

Adeola Okunola·9 March 2026Read
AI Governance9 min read

How to Prove Your AI Did What It Said: A Developer's Guide to Verifiable AI Outputs

Your AI's output is gone the moment it returns. Logs aren't proof. This guide shows how to attach a cryptographic receipt to every model call, in three lines of code, with a public URL anyone can verify, no Invoance account required.

Adeola Okunola·6 May 2026Read

Try it on the free plan.

Create a signed record and verify it yourself.

Start freeRead the docs

Verified documents and records. Invoance records the exact version of every invoice, report and notice your company sends, so the people who receive them can confirm they have the version you sent, without taking your word for it.

Products

  • Evidence Rooms
  • Audit Logs
  • Event Ledger
  • AI Attestation
  • Document Anchoring
  • Traces

Developers

  • Documentation
  • API reference
  • SDKs
  • How it works
  • How traces seal
  • System status

Verify

  • Audit Log
  • Event
  • AI Attestation
  • Document
  • Trace

Company

  • Company overview
  • What is Invoance
  • Pricing
  • Security
  • Compliance teams
  • Finance teams
  • Partners
  • Brand assets
  • Resources
  • Help center
  • Contact
© 2025 – 2026 Invoance, Inc. All rights reserved.© 2026 Invoance, Inc. All rights reserved.
PrivacyLegal noticeLegal FAQ