← Files Attest by DataHubzARCHIVED FILE
plugin.json
10.6 KB · Nov 3, 2026 · 06:12 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "attest",
"version": "1.0.2",
"description": "Attest by DataHubz is document signing and verifiable records. The Attest connector lets your assistant list the agreements you sent or must sign, remind signers, prepare new agreements, verify signed documents and records anchored on the Base blockchain, and create Share proofs, zero-knowledge proofs verified on zkVerify. It never reads a document and never signs: documents stay end-to-end encrypted, and each signer signs in Attest with their own passkey.",
"author": {
"name": "DataHubz",
"email": "contact@datahubz.com",
"url": "https://www.datahubz.com"
},
"homepage": "https://attest.datahubz.com/docs/connector",
"keywords": [
"document signing",
"e-signature",
"agreements",
"verification",
"passkeys",
"end-to-end encryption",
"zero-knowledge proofs",
"blockchain anchoring"
],
"extensions": {
"com.openai": {
"interface": {
"displayName": "Attest by DataHubz",
"shortDescription": "E-signatures you can verify",
"longDescription": "Attest by DataHubz is document signing and verifiable records. The Attest connector brings your Attest records into your assistant.\n\nWhat you can do:\n- See your agreements: the ones you sent and the ones waiting for your signature, with their status, signers, whose turn it is and the audit trail up to completion.\n- Remind signers of an agreement you sent: the signing link goes again to those whose turn it is, at most once a day each.\n- Prepare a new agreement: give the title, signers, order, a note and an expiry date, and get a link to Attest's New agreement form, filled in. You attach the PDF and send it in Attest, where your browser encrypts it.\n- Verify a signed document: give the code on its signature stamp (ATT-XXXX-XXXX), an agreement, receipt or proof ID, or the file's SHA-256 fingerprint. Attest reports who signed, whether every passkey signature checks out, and the record's anchor on the Base blockchain. Anyone can run this check, without an account.\n- Prove you signed an agreement without revealing it: a Share proof is a zero-knowledge proof that shows your email address (and a co-signer's, if you name one) and the day the agreement was completed, never the document, its terms or its title. Each proof is submitted to zkVerify for independent verification.\n- Record a receipt: anchor a SHA-256 fingerprint on Base as proof that the content existed, unchanged, at that time.\n\nWhat it can't do, by design:\n- It can't read your documents. They are end-to-end encrypted in the sender's browser and stored only as ciphertext Attest can't read, so no tool returns a document.\n- It can't sign. Each signer signs in Attest with their own passkey (Face ID, Touch ID, Windows Hello or the device PIN).\n- It doesn't send documents. You send them from Attest.\n\nYou sign in to Attest when you connect and choose what the assistant may do: check records, read your records, or act on them. You can disconnect it at any time from Attest's Security page.",
"developerName": "DataHubz",
"category": "Business & Operations",
"capabilities": [
"List the agreements you sent and the ones waiting for your signature",
"See one agreement's signers, status, document fingerprint and audit trail",
"Remind the signers of an agreement you sent, at most once a day each",
"Prepare a new agreement for you to attach the PDF and send in Attest",
"Verify an agreement, a stamp code, a receipt, a Share proof or a SHA-256 fingerprint",
"Create a Share proof that you signed an agreement, without revealing the document",
"Record a receipt for a SHA-256 fingerprint, anchored on the Base blockchain",
"List your receipts and their anchors",
"See what your account has left to use, and whether your signing key is set up"
],
"websiteURL": "https://attest.datahubz.com",
"supportURL": "https://www.datahubz.com/contact",
"privacyPolicyURL": "https://attest.datahubz.com/docs/connector/privacy",
"termsOfServiceURL": "https://www.datahubz.com/terms-of-service",
"defaultPrompt": [
"Which agreements are waiting for my signature?",
"Who still needs to sign the agreements I sent?",
"Prepare a mutual NDA for Mary Ruiz to sign."
],
"brandColor": "#4F46E5",
"brandColorDark": "#818CF8",
"composerIcon": "./assets/icon.png",
"logo": "./assets/logo.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "List the agreements waiting for the demo account's signature",
"prompt": "Which agreements are waiting for my signature?",
"tools_triggered": "list_agreements",
"expected_behavior": "Lists the two sample agreements waiting for the demo account's signature now: Sample: Data processing addendum, from Daniel Park (who has signed), and Sample: Logo design quote, from Priya Nair. Each comes with its sender and status, and the answer says signing happens in Attest with the signer's own passkey. It doesn't try to sign. Sample: Website design change order isn't listed: it is signed in order and it is Mary Ruiz's turn first."
},
{
"description": "Read an agreement's audit trail, then remind its pending signer",
"prompt": "Show me the audit trail of my Sample: Mutual NDA with Daniel Park, then remind him to sign it.",
"tools_triggered": "list_agreements, get_agreement, remind_signers",
"expected_behavior": "Finds the Sample: Mutual NDA, lists its audit trail steps with their times (created, sent, signed by the demo account), then, after ChatGPT asks to confirm the reminder, emails Daniel Park his signing link again and names him as reminded. If he was reminded in the last 24 hours (for example by an earlier review run), nothing is sent and the result says when he was last reminded."
},
{
"description": "Verify a completed agreement",
"prompt": "Check that the Sample: Consulting agreement with Mary Ruiz is genuine and anchored on the blockchain.",
"tools_triggered": "list_agreements, verify_record",
"expected_behavior": "Runs Attest's public check on the agreement's ID and reports that it was completed and signed by both signers, that every passkey signature checks out and that its record is anchored on Base, naming the signers by name only and giving the link to its certificate on attest.datahubz.com."
},
{
"description": "Prepare a new agreement for the user to finish in Attest",
"prompt": "Prepare a mutual NDA between Northwind and Mary Ruiz (contact+maryr@datahubz.com). She signs first, then me, and the last day to sign is the last day of next month.",
"tools_triggered": "prepare_agreement",
"expected_behavior": "Returns a link to Attest's New agreement form, filled in with the title, contact+maryr@datahubz.com as the first signer, the demo account signing last, signing in order, and the expiry date. It says nothing is sent until the user attaches the PDF and sends it in Attest, and that the link works for 72 hours."
},
{
"description": "Create a Share proof about a completed agreement",
"prompt": "Create a Share proof that I signed the Sample: Photography license with Priya Nair.",
"tools_triggered": "list_agreements, share_proof",
"expected_behavior": "Says that anyone with the proof's link will see the demo account's email address and the completion date, and asks to confirm (ChatGPT also confirms the action). Then creates the proof and returns its link on attest.datahubz.com/verify, what the recipient sees (the email address, the completion date, that the proof is valid and where it is anchored), what they never see (the document, its terms, its title, the other signers) and the proof's zkVerify status."
}
],
"negative": [
{
"description": "Signing for the user. The connector has no signing tool: each signer signs in Attest with their own passkey, so no assistant can sign for anyone (and the demo account has no passkey a reviewer can use). Expected: the assistant declines and points the user to the agreement in Attest; it may run list_agreements to find it.",
"prompt": "Sign the Sample: Logo design quote from Priya Nair for me."
},
{
"description": "Reading or summarizing a document. Documents are end-to-end encrypted and Attest stores them only as ciphertext it can't read, so no tool returns a document's contents. Expected: the assistant says it can't read the document and offers what Attest records (title, status, signers, fingerprint), with the link to the agreement in Attest.",
"prompt": "Summarize the terms of the Sample: Consulting agreement with Mary Ruiz and tell me the fee it sets."
},
{
"description": "Uploading a file or sending a document for signature. The connector never receives files and can't send documents. Expected: the assistant doesn't send the file anywhere; it may prepare the agreement with prepare_agreement and tells the user to attach the PDF and send it in Attest, where their browser encrypts it.",
"prompt": "Here's my contract as a PDF. Upload it to Attest and send it to Mary Ruiz for signature right away."
}
]
},
"demo_recording_url": "https://attest.datahubz.com/review/attest-connector-walkthrough-v1.mp4",
"commerce": false,
"commerce_description": "The plugin sells nothing and takes no payments: it works with the user's own Attest records."
},
"publication": {
"release_notes": "Version 1.0.2. A dedicated privacy notice for the connector, at https://attest.datahubz.com/docs/connector/privacy, lists what is collected, each tool's inputs and outputs, why they are used, who receives them, how long they are kept and how to disconnect or delete them. The listing adds a support email, contact@datahubz.com. Since 1.0.0, Attest anchors records on the Base blockchain, and agreements prepared with Attest's Gmail add-on are kept out of every assistant and other app, as Google's user data policy requires. The nine tools, their inputs and their permissions are unchanged."
},
"apps": "./.app.json"
}
}
}
SHA-256: 7a0d028b1778a6a4e6d00223e47143b7100131f6cb4ede68c73cafb1305c6596