We use essential cookies to make our site work. With your consent, we may also use non-essential cookies to improve user experience and analyze website traffic. By clicking “Accept,” you agree to our website's cookie use as described in our Cookie Policy. You can change your cookie settings at any time by clicking “Preferences.”
    Your brand has an AI profile — whether you know it or not. Claim yours →

    Privacy & Security

    How Scout handles your data, what it accesses, and how brand isolation works.

    Scout has zero direct database access. All data flows through authenticated HTTP APIs. No queries or conversation content is logged.

    Runtime architecture

    Scout runs on Cloudflare Workers. No persistent storage on the server side. All tool calls are processed in-memory and discarded. There is zero direct database access — all data flows through HTTP APIs to the Optimly core application.

    Unauthenticated requests

    No data is stored. Tool calls are processed and discarded. IP addresses are held in-memory only for rate limiting (30 req/IP/hr) and reset on Worker cold start. No cookies, no session tokens, no tracking.

    Authenticated requests

    API key tier resolution is cached in-memory for 5 minutes per key (resets on Worker cold start). OAuth client registrations are stored in Cloudflare KV with a 30-day TTL. Auth code state has a 10-minute TTL.

    BrandVault data

    BrandVault data is owned by you. It is only served to queries about YOUR brand. Not shared with competitors. Accessed through the core app API, authenticated per-request. Scout never caches BrandVault content. You control what's published via BrandVault Publish Controls (field-level toggles).

    Cross-brand isolation

    Scout never leaks data between claimed brands. Your BrandVault data is only accessible when querying your own brand with a valid API key. Other brands querying your category will see public directory data only.

    CORS policy

    Access-Control-Allow-Origin: * — standard for MCP servers. Scout is designed to be called from any MCP client.

    Rate limiting

    30 requests per IP per hour for unauthenticated requests. Unlimited for authenticated requests. Rate limit state is held in-memory and resets on Worker cold start.

    Write proxy — allowed tables

    The write proxy only allows inserts to these 8 specific tables. No writes to brand data, user data, or billing data:

    agent_interaction_logagent_feedbackresearch_survey_responsesagent_experience_responsesbrand_profile_requestsdirectory_gap_signalsdirectory_feedbackcategory_suggestions

    Last verified: April 2026. Contact us at [email protected] for questions.