> ## Documentation Index
> Fetch the complete documentation index at: https://docs.botdog.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Security

> How Botdog protects your account when connected via MCP.

## Token lifetimes

* **Access token** — valid for 1 hour. Used as the `Authorization: Bearer …` header on every MCP request. Your client refreshes it automatically.
* **Refresh token** — valid for 30 days from last use. Single-use. Each refresh issues a new pair and invalidates the previous one.

## Revocation

Removing the Botdog connector from your AI client revokes its tokens when the client supports OAuth token revocation (`POST https://api.botdog.co/oauth/revoke`). To have a connection revoked immediately on our side, email `support@botdog.co`.

## Refresh token replay detection

If a refresh token is presented twice (which only happens when it's been copied to a second machine), we revoke **every token** for that app + team and force a full re-authorization. An `MCP_OAUTH_REVOKED` activity entry is recorded with reason `refresh-replay`.

## Idle expiry

A connection unused for 14 consecutive days is auto-revoked. Reconnect to resume.

## Audit log

Every tool call is logged to your team's activity log with the tool name, the connecting app, duration, outcome, and a hash of the call inputs — never the raw inputs.

## Data scope

A token is bound to one team and cannot read or write across team boundaries. Write tools also require you to hold a seat on that team; read tools don't. Tokens for one resource (the MCP server) cannot be used against any other Botdog endpoint.
