← Files CustodisARCHIVED FILE
plugin.json
13.8 KB · Nov 3, 2026 · 19:16 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "custodis-chatgpt",
"description": "Custodis tokenizes sensitive details locally on your device before you share with ChatGPT, then restores the real details on your device.",
"author": {
"name": "DIGISCAN LLC",
"url": "https://custodis.ai"
},
"homepage": "https://custodis.ai",
"version": "0.5.6",
"extensions": {
"com.openai": {
"interface": {
"displayName": "Custodis",
"shortDescription": "Private details, useful help",
"longDescription": "Use Custodis Token mode in three steps: Add document, Check & share, Use answer. It automatically replaces detected private details with tokens on your device. Review the exact text, approve it, then send it to ChatGPT. Paste the reply into the same open workspace to restore the real details locally. Review private details and consistent tokens side by side. Click an original value to hide or show it locally while keeping it protected. Click the red \u00d7 beside a token for explicit choices to protect or share one occurrence or all matching occurrences, then approve the exact final text. If the workspace asks to confirm access, connect an existing Custodis account. Connecting shares your Custodis account email address with ChatGPT. Your original document and token map are not shared by this workflow. Open a PDF (scans included), text-only Word .docx or UTF-8 .txt file, or paste text, inside Custodis. Direct JPEG/PNG uploads and legacy .doc files are not supported. The Custodis engine reads it on your device, including on-device OCR for scanned PDF pages, and replaces the hidden names, numbers and contact details with consistent tokens while keeping the context the task needs. Check every page: detected details are shown as black boxes; click a detected box for local details and explicit choices. Draw a box to hide more; clicking a drawn box removes it. If Custodis cannot verify hidden-word positions on a scan, review its recognized text instead of page boxes. Review the exact protected text, then choose to share it with ChatGPT. Save redacted PDFs in the standalone Custodis app; this plugin does not upload or download document files. When the answer comes back, paste it into the same Custodis workspace to restore the real details locally on your device. Your original document, token map, and restored answer stay on your device in this workflow: Custodis servers do not receive them, and only the text you explicitly approve is sent to ChatGPT. If you later share the restored answer yourself, that separate action shares its real details. The first document downloads the Custodis engine files (about 50 MB) once. Detection and OCR can miss or misread details, so review all pages and text before sharing. Keep the workspace open until you have copied your answer; closing or clearing it removes its in-memory token map. Token maps cannot be saved, exported, imported, backed up or recovered by this plugin; a new workspace cannot restore an earlier answer. This initial integration is intended for ordinary business documents, not medical records, government identifiers, payment-card data, or authentication secrets.",
"developerName": "DIGISCAN LLC",
"category": "Security",
"capabilities": [
"On-device tokenization before sharing",
"On-device reading of scanned PDF pages",
"Page review with redaction boxes",
"Protected-text review",
"Exact-text review and approval",
"Local answer restoration",
"Compact Token replacements",
"Local-only original reveal",
"Explicit occurrence choices"
],
"websiteURL": "https://custodis.ai",
"supportURL": "https://custodis.ai/support",
"privacyPolicyURL": "https://chatgpt.custodis.ai/privacy",
"termsOfServiceURL": "https://custodis.ai/terms",
"composerIcon": "./assets/icon.png",
"logo": "./assets/icon.png",
"brandColor": "#2b9a75",
"defaultPrompt": [
"Help me use a document with ChatGPT while keeping its private details on my device.",
"Open Custodis to protect a document before I share it."
]
},
"review": {
"test_cases": {
"positive": [
{
"description": "Side-by-side Token review, local original visibility and explicit occurrence choices in the three-step workflow.",
"prompt": "Open Custodis so I can prepare a fictional business note privately before sharing it.",
"tools_triggered": "open_custodis",
"expected_behavior": "Choose Try a fictional example in Add document. Automatic protection opens Check & share. Inspect the side-by-side original values, consistent tokens and exact protected text. Click an original value to hide or show it locally; this never changes its token, protection or shared text. Click the red \u00d7 beside a token to open explicit protection choices; Cancel makes no protection change. To try repeated-value choices in this example, open Adjust what\u2019s hidden, then Select words to hide \u00b7 local only. Select Contact in Contact name and choose Hide selection; do the same for Contact in Contact phone. Return to the replacements and open the Contact red \u00d7. Choose UNREDACT this occurrence. Reopen the Contact red \u00d7, select the visible copy in Occurrence to change, then choose KEEP HIDDEN all 2 occurrences. An applied protection change cancels earlier approval. Undo all four demonstration changes before final review; Undo and Redo restore the exact choices. Back and Next preserve the map and never share. Send and Copy stay disabled until explicit exact-text approval. Fictional examples need no purchase or document allowance.",
"file_attachment_urls": []
},
{
"description": "Exact approved text reaches ChatGPT and its actual reply restores locally.",
"prompt": "Open Custodis to protect a fictional business note and restore the details in the reply on my device.",
"tools_triggered": "open_custodis",
"expected_behavior": "Connect the supplied existing reviewer account if access is requested. Choose the TXT inside Custodis. Review and approve its exact packet, then Send. Verify the protected-text segment in the conversation matches the preview, with no original private values, file name or token map. Ask for a short useful reply that preserves every token verbatim. Paste the actual answer into Use answer in the same open workspace: restoration is automatic and local. Choose Copy my answer to use the restored text. If Send offers an explicit Copy route, copy the approved text and paste it into ChatGPT. No purchase or tier change is required.",
"file_attachment_urls": [
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/own-document-one.txt"
]
},
{
"description": "Manual redaction preserves selected scope, public neighbours and Undo/Redo.",
"prompt": "Open Custodis so I can choose which details in a fictional business document stay private.",
"tools_triggered": "open_custodis",
"expected_behavior": "Open the supplied two-column PDF inside Custodis. In Check & share, open Adjust what\u2019s hidden. Turn off Names, select only Jordan Example in the document text and choose Hide selection. Keep the neighbouring Public column text readable. Use the red \u00d7 choices to share Friday if it is hidden, then inspect the exact protected text. Draw a box over the private silver orchard phrase in the Request row while keeping the neighbouring Due: Friday text readable; the matching Repeat phrase remains independently protected. Undo and Redo reproduce the committed choice. Clicking an original value to hide or show it locally keeps the value protected. Explicitly sharing the Repeat occurrence, followed by protecting that occurrence again, follows the newest choice without releasing the Request occurrence. Each change cancels approval. Return to the main review and approve only the final packet.",
"file_attachment_urls": [
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/fictional-business-two-columns-digital.pdf",
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/manual-overlap.txt"
]
},
{
"description": "Local text-only Word and native multi-page PDF intake.",
"prompt": "Open Custodis to prepare a fictional Word document privately on my device.",
"tools_triggered": "open_custodis",
"expected_behavior": "Choose the supplied DOCX inside Custodis. Review complete body, headers, footer, footnotes, endnote and multilingual text against the supplied expected-text reference; private names and contacts are hidden while useful facts remain. Also open the supplied two-page native PDF and inspect both pages and the exact protected text. Original files remain in the browser workspace. Legacy DOC, direct JPEG/PNG, mismatched containers, malformed UTF-8 and unsupported Word content refuse intake without silently sharing or replacing the prior map.",
"file_attachment_urls": [
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/fictional-unicode-notes.docx",
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/fictional-business-two-pages-digital.pdf",
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/reference/fictional-unicode-notes.expected.txt"
]
},
{
"description": "Mixed native and scanned PDF review with on-device OCR.",
"prompt": "Open Custodis to prepare a fictional PDF with scanned business pages locally.",
"tools_triggered": "open_custodis",
"expected_behavior": "Choose the supplied mixed PDF inside Custodis. Review the first native page, scanned middle page and final native page, all private selections and useful public phrases. OCR runs on the device. If word positions cannot be verified, review recognized text rather than invented page masks. Review all text before approving. An incomplete scanned-page fixture must refuse the whole document and cancel sharing approval. This plugin shares approved text; permanent redacted-PDF export is in the standalone app.",
"file_attachment_urls": [
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/fictional-business-mixed-native-scan.pdf",
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/files/two-columns-image-only.pdf",
"https://chatgpt.custodis.ai/demo/review-fixtures-20261004/negative/C632-accepted-scan-plus-blank-raster.pdf"
]
}
],
"negative": [
{
"description": "The opener must not receive or process private document content as tool arguments.",
"prompt": "Upload my original document and token map to the Custodis server and restore the answer there.",
"tools_triggered": "",
"expected_behavior": "Explain that Custodis has no server upload or remote restoration capability. Do not request the original as a chat attachment or invent a processing tool. If the user wants the supported local workflow, offer to open the workspace. Nonempty opener arguments are rejected without reflecting them."
},
{
"description": "File export is outside the plugin; local OCR and protected-text sharing remain supported.",
"prompt": "Use Custodis to OCR this scanned image-only contract and return a permanently redacted PDF. I do not want a text-only workflow.",
"tools_triggered": "",
"expected_behavior": "Do not call open_custodis for this file-export-only outcome. Explain that the plugin reads scanned PDF pages locally and shares reviewed protected text; direct JPEG/PNG uploads are unsupported. A permanently redacted PDF must be saved in standalone Custodis, outside this plugin. Do not request an original chat attachment, promise a ChatGPT download, or add purchase/upgrade instructions. Offer the local PDF protected-text workflow only if the user then wants it."
},
{
"description": "A closed workspace token map cannot be retrieved or restored from Custodis servers.",
"prompt": "Recover the token map from the Custodis workspace I closed yesterday and restore my answer from the server. Do not start a new workspace.",
"tools_triggered": "",
"expected_behavior": "Do not call open_custodis or start a new workspace, invent a server restore API or claim successful recovery. Explain that the token map exists only in the same active workspace. The plugin cannot save, export, import, back up or recover a map. Closing or clearing the workspace removes its map, and a new workspace cannot restore an earlier answer. Do not suggest a saved local token map as a restoration method."
}
]
},
"commerce": false,
"commerce_description": "No sales, checkout or upgrades occur in ChatGPT. Users can connect an existing eligible Custodis account.",
"demo_recording_url": "https://chatgpt.custodis.ai/demo/custodis-0.5.5-walkthrough.mp4"
},
"publication": {
"release_notes": "0.5.6 makes Token mode clearer with side-by-side original values and consistent tokens. Hide or show an original locally while it stays protected, and use explicit choices for one occurrence or all matching occurrences. Approve the exact text to share, then restore the real details locally in the same open workspace."
},
"apps": "./.app.json"
}
}
}
SHA-256: f6469132a3992b45ce3b227b6abc335b218d05729fa457802558209c9cce74d3