{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "KeychainX Wallet Recovery Intake",
  "description": "Structured intake for a crypto wallet recovery case. NEVER include full seed phrases, private keys, keystore contents, or plaintext passwords. Collect only high-level, non-sensitive context.",
  "type": "object",
  "required": [
    "wallet_type",
    "problem",
    "contact_email",
    "consent_owner"
  ],
  "properties": {
    "wallet_type": {
      "type": "string",
      "enum": [
        "bitcoin-core",
        "ethereum-presale",
        "keystore-utc",
        "metamask",
        "multibit",
        "blockchain-com",
        "electrum",
        "trezor",
        "ledger",
        "other"
      ]
    },
    "coin": {
      "type": "string",
      "description": "Primary coin, e.g. BTC or ETH."
    },
    "problem": {
      "type": "string",
      "enum": [
        "forgot-password",
        "lost-or-partial-seed",
        "invalid-seed",
        "hardware-pin-passphrase",
        "corrupted-or-deleted-file",
        "wallet-shows-empty",
        "other"
      ]
    },
    "approx_created": {
      "type": "string",
      "description": "Approximate year/date the wallet was created."
    },
    "error_message": {
      "type": "string",
      "description": "Exact on-screen error, if any."
    },
    "password_hints": {
      "type": "string",
      "description": "NON-SENSITIVE hints only: length, language, character sets, patterns. Never the actual password."
    },
    "estimated_value": {
      "type": "string"
    },
    "contact_email": {
      "type": "string",
      "format": "email"
    },
    "consent_owner": {
      "type": "boolean",
      "description": "User confirms they are the rightful owner and authorize recovery."
    }
  },
  "x_safety": {
    "never_collect": [
      "full seed phrase",
      "private key",
      "keystore file contents",
      "plaintext wallet password"
    ],
    "note": "Sensitive material is exchanged only through KeychainX secure channels after a case is opened at https://keychainx.io/contact/"
  }
}