← Files SellatARCHIVED FILE

.codex-plugin/plugin.json

6.73 KB · Nov 2, 2026 · 13:04 UTC

↓ Download file

{
  "name": "sellat",
  "version": "1.0.0",
  "description": "Independently verifiable proof that an exact file existed at a given time.",
  "author": {
    "name": "Cristian Cascante Portabella",
    "email": "hola@sellat.app",
    "url": "https://sellat.app"
  },
  "homepage": "https://sellat.app",
  "keywords": [
    "proof-of-existence",
    "timestamp",
    "eidas",
    "evidence",
    "blockchain",
    "integrity"
  ],
  "mcpServers": "./.mcp.json",
  "interface": {
    "displayName": "Sellat",
    "shortDescription": "Proof your files existed",
    "longDescription": "Sellat creates independently verifiable proof that an exact file existed at a given moment. Ask to protect a file and a Sellat panel opens in the conversation: your browser computes the file's SHA-256 fingerprint, and only that fingerprint and the file name reach Sellat. The file never leaves your device. Sellat anchors the fingerprint on the public Polygon blockchain in a Merkle batch and attests it on Bitcoin through OpenTimestamps, so anyone can verify the proof later without trusting Sellat.\n\nYou can also add a qualified electronic timestamp from FNMT-RCM (eIDAS, RFC 3161) to a proof. It uses one of the qualified seals available in your Sellat account and is only requested when you ask for it.\n\nFrom here you can:\n- Protect a file, or a SHA-256 fingerprint you already have.\n- Check the status of a proof: Polygon anchor, Bitcoin confirmation, qualified seal and certificate link.\n- List your proofs.\n- See your plan, today's budget and the qualified seals you have left.\n- Add the FNMT-RCM qualified timestamp to a proof.\n\nBuilt for freelancers, creators, small businesses and anyone who needs evidence that a document, photo, contract or design existed in a given state at a given time.\n\nLimits: a proof shows that those exact bytes existed no later than the anchored time; on its own it does not prove authorship or ownership. Proofs are anchored in batches, and each proof tells you when its batch is anchored. Files kept in custody, billing and account settings stay in the Sellat dashboard, out of reach of the plugin. It needs a Sellat account. You choose what it may do on the consent screen, the qualified seal is a separate permission, and you can disconnect it at any time from your Sellat dashboard.",
    "developerName": "Cristian Cascante Portabella",
    "category": "Productivity",
    "capabilities": [
      "Protect a file: the fingerprint is computed in your browser and the file is never uploaded",
      "Protect a SHA-256 fingerprint you already have",
      "Check a proof: Polygon anchor, Bitcoin confirmation, qualified seal and certificate link",
      "List your proofs",
      "See your plan, today's budget and qualified seals left",
      "Add the FNMT-RCM qualified timestamp (eIDAS) to a proof, only when you ask"
    ],
    "websiteURL": "https://sellat.app",
    "supportURL": "https://sellat.app/en/sobre",
    "privacyPolicyURL": "https://sellat.app/en/privacidad",
    "termsOfServiceURL": "https://sellat.app/en/condiciones",
    "defaultPrompt": [
      "Protect a file with Sellat without uploading it.",
      "How many qualified seals do I have left in Sellat?",
      "What is the status of my latest Sellat proof?"
    ],
    "brandColor": "#20448C",
    "brandColorDark": "#7EA2F0",
    "composerIcon": "./assets/logo.png",
    "logo": "./assets/logo.png"
  },
  "extensions": {
    "com.openai": {
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Protect a file without uploading it",
              "prompt": "I want to protect a file with Sellat without uploading it.",
              "tools_triggered": "sellat_protect_file, sellat_stamp_hash",
              "expected_behavior": "The Sellat panel opens in the conversation. After choosing any file and pressing Protect with Sellat, the panel computes the fingerprint in the browser and shows Protected, the proof id and a link to the certificate. The file itself is not uploaded."
            },
            {
              "description": "Protect a fingerprint the user already has",
              "prompt": "Protect the file contract.pdf with Sellat. Its SHA-256 is 86daacdcdd2b3dfffeeaa23e526250fe94a86a2a925244aba8b03ee5c37e76b5.",
              "tools_triggered": "sellat_stamp_hash",
              "expected_behavior": "Creates the proof (or returns the existing one for that fingerprint) and states when it will be anchored on Polygon, with the certificate link."
            },
            {
              "description": "Status of the latest proof",
              "prompt": "What is the status of my latest Sellat proof?",
              "tools_triggered": "sellat_list, sellat_status",
              "expected_behavior": "Names the latest proof and says whether it is anchored on Polygon (with the transaction) or when its batch closes, and the Bitcoin state."
            },
            {
              "description": "Qualified seals left",
              "prompt": "How many qualified seals do I have left in Sellat?",
              "tools_triggered": "sellat_account",
              "expected_behavior": "Gives the number of qualified seals left, the plan, and whether this connection may use seals."
            },
            {
              "description": "Add the qualified timestamp",
              "prompt": "Add the FNMT qualified timestamp to my latest Sellat proof.",
              "tools_triggered": "sellat_list, sellat_seal",
              "expected_behavior": "Issues the FNMT-RCM qualified timestamp and reports its time and the seals left. If the connection was made without the seals permission, it explains that and spends nothing."
            }
          ],
          "negative": [
            {
              "description": "Proofs cannot be deleted through the plugin",
              "prompt": "Delete all my Sellat proofs."
            },
            {
              "description": "No purchases through the plugin",
              "prompt": "Buy 10 qualified seals for me in Sellat and charge my card."
            },
            {
              "description": "Does not claim authorship",
              "prompt": "Use Sellat to prove that I am the author of this photo."
            }
          ]
        },
        "demo_recording_url": "https://www.youtube.com/watch?v=ZwRXrGXZQn0",
        "commerce": false,
        "commerce_description": "Sellat sells nothing through this plugin. It only uses qualified seals the account already has, and only when the user asks for one."
      },
      "publication": {
        "release_notes": "First release: protect a file from a panel that computes its fingerprint in the browser, protect a known fingerprint, check and list proofs, see the account, and add the FNMT-RCM qualified timestamp."
      }
    }
  },
  "apps": "./.app.json"
}

SHA-256: 7f443ce2eb160a9464f9fdb09568972dd416802cdfb116855794d86b434f13d5