# LeakGuard Sensitive Data Scanner

> LeakGuard Sensitive Data Scanner is a paid API for AI agents from api.youraitools.co, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-23).

Scans text for leaked secrets, PII, wallet keys, and API credentials before they are sent, logging them or forwarding them

## Facts

- Endpoint: GET https://api.youraitools.co/leakguard/v1/scan?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-23
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/leakguard-sensitive-data-scanner-cee8742c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_EfeO4koONsq5N1hE87ZVT

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability leakguard-sensitive-data-scanner-cee8742c
```

Example prompt: Before sending this agent log to our analytics service, scan it for any leaked secrets, wallet keys, or PII — use the 'mask' style so email domains and last 4 digits are preserved, and flag anything at medium severity or above: 'restored wallet from seed abandon abandon... aws key AKIA123...'

## When to prefer this

Use this endpoint when an AI agent needs to inspect outbound text — prompts, logs, tool arguments, or messages — for secrets, credentials, PII, or crypto wallet keys before forwarding them to a third party. It is particularly valuable in agentic pipelines where LLMs may inadvertently reproduce sensitive content from context. It is better than generic regex filters because it includes BIP39 checksum validation, on-chain balance checking for exposed wallets, and structured remediation advice. Choose it when you need a confidence score and severity triage, not just a yes/no flag.

## Known failure modes

- Missing required 'text' query parameter returns a validation error
- Invalid 'style' or 'min_severity' enum value returns 400
- Very large text payloads may be truncated or rejected
- Chain RPC failures may leave some addresses unchecked (sources_failed populated)
- False negatives possible for obfuscated or encoded secrets
- Payment failure via x402 results in 402 response before scan runs

## How this service works

Deep secret and PII leak scan API for text and JSON. Deep leak scan of text or a JSON payload: findings by JSON path, redacted JSON, remediation steps, and for leaked seed phrases or private keys the wallet addresses they control with native and USDC balances on Base, Ethereum, Polygon, Arbitrum and Solana (funds at risk now?).

## Output

Returns a JSON object with a verdict (e.g. WALLET_KEY_EXPOSED), a list of findings each with type, severity, confidence, preview, and remediation advice, a redacted version of the input text, an exposure block with any derived wallet addresses and on-chain balances checked, counts of each finding type, and a safe_to_send boolean indicating whether the text is safe to forward.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "text"
     ],
     "properties": {
      "text": {
       "type": "string",
       "description": "Text to check before it is sent (prompt, tool arguments, log, message, file content). POST /v1/scan also accepts {\"json\": <any JSON payload>}."
      },
      "style": {
       "enum": [
        "label",
        "mask"
       ],
       "type": "string",
       "description": "label: [REDACTED:type] (default); mask: keep the last 4 digits / email domain for PII"
      },
      "types": {
       "type": "string",
       "description": "Optional comma-separated finding types or categories to report (wallet_key, secret, pii, email, ...)"
      },
      "min_severity": {
       "enum": [
        "low",
        "medium",
        "high",
        "critical"
       ],
       "type": "string"
      }
     },
     "description": "Search intents: secret scanning api, json pii scan, leaked private key check, credential leak detection, dlp api, redact json"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "tier": {
       "type": "string"
      },
      "input": {
       "type": "object"
      },
      "counts": {
       "type": "object"
      },
      "engine": {
       "type": "string"
      },
      "actions": {
       "type": "array"
      },
      "verdict": {
       "type": "string"
      },
      "exposure": {
       "type": "object"
      },
      "findings": {
       "type": "array"
      },
      "redacted": {
       "type": "string"
      },
      "checked_at": {
       "type": "string"
      },
      "confidence": {
       "type": "string"
      },
      "max_severity": {
       "type": "string"
      },
      "safe_to_send": {
       "type": "boolean"
      },
      "sources_failed": {
       "type": "array"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "tier": "scan",
  "input": {
   "kind": "text",
   "bytes": 185,
   "strings_scanned": 1
  },
  "counts": {
   "email": 1,
   "bip39_mnemonic": 1,
   "aws_access_key_id": 1
  },
  "engine": "leakguard-0.1.0 (leakguard-engine/0.1.0)",
  "actions": [
   "URGENT: a leaked key controls a wallet that holds funds right now. Move the f..."
  ],
  "verdict": "WALLET_KEY_EXPOSED",
  "exposure": {
   "status": "funds_at_risk",
   "addresses": [
    {
     "path": "m/44'/60'/0'/0/0",
     "type": "bip39_mnemonic",
     "family": "evm",
     "status": "used_empty",
     "address": "0x9858EfFD232B4033E47d90003D41EC34EcaEda94",
     "finding": 0,
     "balances": {
      "base": {
       "usdc": "0",
       "funded": false,
       "native": "0",
       "tx_count": 5313
      },
      "polygon": {
       "usdc": "0",
       "funded": false,
       "native": "0",
       "tx_count": 13405
      },
      "arbitrum": {
       "usdc": "0",
       "funded": false,
       "native": "0",
       "tx_count": 849
      },
      "ethereum": {
       "usdc": "0",
       "funded": false,
       "native": "0",
       "tx_count": 1679
      }
     }
    }
   ],
   "not_checked": [],
   "chains_checked": [
    "base"
   ],
   "sources_failed": []
  },
  "findings": [
   {
    "end": 130,
    "type": "bip39_mnemonic",
    "start": 37,
    "preview": "[REDACTED:bip39_mnemonic]",
    "category": "wallet_key",
    "severity": "critical",
    "validator": "bip39 checksum ok (12 words)",
    "confidence": 0.99,
    "remediation": "Treat the wallet as compromised: create a new seed offline and move all funds..."
   }
  ],
  "redacted": "agent log: restored wallet from seed [REDACTED:bip39_mnemonic]; aws key [REDA...",
  "checked_at": "2026-10-22T19:07:15.558Z",
  "confidence": "high",
  "max_severity": "critical",
  "safe_to_send": false,
  "sources_failed": []
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/leakguard-sensitive-data-scanner-cee8742c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.youraitools.co](https://www.zero.xyz/host/api.youraitools.co/llms.txt)
