# LeakData.io auth.md

The LeakData.io MCP resource uses LeakData's own OAuth 2.1 authorization server. Users sign in on LeakData.io; passwords and browser-session cookies are never sent to Claude, ChatGPT, or another MCP client.

MCP supports checks of the linked account's verified primary email and aggregate checks of a five-character password hash prefix. Domain checks are not available through MCP in this release.

## OAuth endpoints

- Protected resource metadata: https://leakdata.io/.well-known/oauth-protected-resource
- Authorization server metadata: https://leakdata.io/.well-known/oauth-authorization-server
- Authorization endpoint: https://leakdata.io/oauth/authorize
- Token endpoint: https://leakdata.io/oauth/token
- Dynamic client registration: https://leakdata.io/oauth/register
- Revocation endpoint: https://leakdata.io/oauth/revoke
- MCP resource: https://leakdata.io/mcp

The authorization flow requires authorization code with PKCE S256. The exact `resource=https://leakdata.io/mcp` value must be present in both authorization and token requests. Compatible clients may use Dynamic Client Registration (DCR) or a trusted Client ID Metadata Document (CIMD). LeakData supports Antigravity's exact hosted `https://antigravity.google/oauth-callback` DCR callback, Claude's hosted callback, Claude Code's documented loopback callback contract, and Gemini CLI's exact public-client DCR profile with an ephemeral `/oauth/callback` loopback.

## Supported scopes

- `search`: Search the linked LeakData account’s verified primary email.
- `password-check`: Run a k-anonymous five-character SHA-1 prefix check.

OAuth access tokens are short-lived, audience-bound, scope-bound, and checked against the current LeakData account state and API entitlement on every tool call. Refresh tokens rotate after each use. Existing `lk_` API keys remain accepted only as a transitional MCP compatibility path for existing integrations.

## TAXII 2.1 authentication

The read-only TAXII discovery endpoint is https://leakdata.io/taxii2/ and the API root is https://leakdata.io/taxii2/api/. Protected TAXII endpoints accept the same `lk_` API key as `Authorization: Bearer`, `X-API-Key`, or HTTP Basic with the fixed username `apikey` and the API key as the password. TAXII access requires both `domains` and `alerts` key permissions plus the SIEM integration entitlement. Credentials are never accepted in URLs or query parameters.

Never put an API key, OAuth token, password, plaintext password, or complete password hash in a prompt.
