Core infrastructure

Where the platform runs and where your workspace data lives.

Supabase

Workspace data storage and account sign-in.

Data flow: Account profile (email, name, optional Telegram chat ID), canary identities, monitored email addresses, threat and tripwire events, subscription and billing records, privacy-request tokens, and authentication credentials.

Retention: Stored until account deletion. Threat events follow the account retention window (default 365 days).

Amazon Web Services

Cloud hosting for the platform, sending alert and account email, and receiving mail sent to decoy addresses.

Data flow: Alert and account emails sent to your address. Mail sent to your decoy addresses (attacker contact) is received and kept for processing.

Retention: Email delivery is transient; inbound tripwire messages are processed into trigger events.

Vercel

Hosting and CDN for the web application, and page-view counts (Vercel Web Analytics) for visitors who accept analytics in the cookie banner.

Data flow: Standard web-request metadata (IP address, user agent) processed by the hosting layer. For visitors who accept analytics: the page address without its query string (campaign tags kept), the referring site, country, browser and device type. No cookie is set.

Retention: Request logs follow the hosting provider's standard handling. Web Analytics keeps aggregate counts; the per-visitor hash is discarded after 24 hours.

Payments and AI inference

Billing runs through PayPal. The prompts, documents, AI answers and skill code you submit are processed by the inference providers below, and proxied traffic is relayed to the model provider you choose.

PayPal

Subscription billing for paid plans.

Data flow: Subscription identifiers, plan, and billing event data (amount, currency, status). Card details are entered on PayPal, never on CanaryVaults; full card numbers are not stored by CanaryVaults.

Retention: Billing records are kept until account deletion. Deleting your account also cancels any active PayPal subscription.

Groq

LLM inference for CanaryShield prompt inspection, CanaryRAG document and leak analysis, CanaryAgent skill scanning, and CanaryHoneypot decoy replies and message classification.

Data flow: The prompts, documents, AI answers and skill code you submit to those product surfaces, and for a leak check the trap facts the answer is compared against, are sent to the Groq API to produce the inspection or analysis result. For CanaryHoneypot, the decoy persona you configure and the messages a visitor sends to your trap are also sent, so that a reply can be generated and the message classified.

Retention: Used for inference; results are stored in your workspace, not by reference to the provider.

Anthropic

LLM inference, through the Claude API, for CanaryRAG document and leak analysis, CanaryAgent skill scanning, and CanaryHoneypot decoy replies and message classification. When the Claude API cannot answer, Groq answers instead.

Data flow: The documents, AI answers and skill code you submit to those product surfaces, and for a leak check the trap facts the answer is compared against, are sent to the Claude API to produce the analysis result. For CanaryHoneypot, the decoy persona you configure and the messages a visitor sends to your trap are also sent, so that a reply can be generated and the message classified.

Retention: Used for inference; results are stored in your workspace, not by reference to the provider. Anthropic deletes what the Claude API is sent within 30 days, unless it keeps content longer to enforce its usage policy or because the law requires it.

The model provider you point the CanaryShield proxy at

CanaryShield can run as a transparent OpenAI-compatible proxy. A request that passes inspection is forwarded to an upstream model provider you choose, using your own provider key. A blocked request is never forwarded.

Data flow: For proxied traffic only, your prompt is relayed to the upstream you name in the x-upstream-base-url header, which defaults to api.openai.com. Permitted upstreams are OpenAI, Groq, OpenRouter, Together, Mistral, DeepSeek and xAI, plus any the deployment operator adds. Your session cookie and originating IP are stripped before forwarding; the Authorization header is passed through unchanged because it carries your own provider key.

Retention: Governed by whichever provider you route to, under your own account with them.

Threat intelligence

These services see attacker IP addresses captured by tripwires and honeypots, never your account data.

AbuseIPDB

IP reputation lookups on attacker IPs that hit tripwires and honeypots; optional automatic reporting of attacker IPs.

Data flow: Attacker IP addresses only. No account data.

Retention: Lookup results are cached for about 15 minutes.

IPInfo

Geolocation of attacker IP addresses for alert context.

Data flow: Attacker IP addresses only. No account data.

Retention: Lookup results are cached for about 15 minutes.

Shodan (InternetDB)

Exposure lookup on attacker IP addresses.

Data flow: Attacker IP addresses only. No account data, no API key required by this service.

Retention: Lookup results are cached for about 15 minutes.

VirusTotal

Reputation lookup on attacker IP addresses.

Data flow: Attacker IP addresses only. No account data.

Retention: Lookup results are cached for about 15 minutes.

Breach monitoring

Three services are asked about the email addresses you add for monitoring, so unlike threat intelligence they do involve your account data. The fourth is the password check, which is told neither your password nor your address; its entry says how.

XposedOrNot

Breach monitoring for the email addresses you ask the platform to watch. One of three breach data sources the product queries; it requires no API key.

Data flow: The monitored email addresses you add are sent to the XposedOrNot check-email API. That is account data rather than attacker data, which is why breach monitoring is listed separately from threat intelligence above. The platform also fetches this service's public catalogue of known breaches, which carries no address and is used to describe a breach the other sources named.

Retention: Findings are stored as breach events in your workspace.

LeakCheck (public endpoint)

Breach monitoring for the same addresses, against a second and independent breach corpus, so an address still gets an answer when one source cannot give one. It requires no API key.

Data flow: The monitored email addresses you add are sent to the LeakCheck public check endpoint. Account data, not attacker data.

Retention: Findings are stored as breach events in your workspace.

Hudson Rock (Cavalier)

Infostealer monitoring for the same addresses. This answers a different question from a breach corpus: not whether a site you used was breached, but whether a computer with one of your addresses saved on it was infected by credential-stealing malware. It requires no API key.

Data flow: The monitored email addresses you add are sent to the Cavalier search-by-email endpoint. Account data, not attacker data. Its response also carries masked password and username fragments and a partially masked IP address; the platform reads and discards those rather than storing them, keeping only the infection date, the machine name and operating system, and the counts.

Retention: Findings are stored as breach events in your workspace. The masked credential fragments and the IP address in the response are not stored at all.

Have I Been Pwned (Pwned Passwords range API)

Checking whether a password has appeared in a known breach corpus. This keyless range API is the only Have I Been Pwned service the platform uses; the paid breach-lookup API is not enabled on this deployment.

Data flow: The first five characters of the password's SHA-1 hash, and nothing else. The service returns every hash suffix sharing that prefix and the comparison is made locally, so neither the password nor your email address leaves the platform.

Retention: Nothing is held by reference to the provider; only the verdict is used.

Alert delivery and monitoring

Optional channels you enable, plus operational error monitoring.

Telegram

Optional alert delivery to a Telegram chat you link to your account.

Data flow: Your chat ID and the content of alerts you have routed to Telegram.

Retention: Messages persist in your Telegram chat under Telegram's terms. Unlink the chat in settings to stop delivery.

Slack, Discord, or a webhook endpoint you configure

Optional alert delivery to a channel you connect in settings.

Data flow: The content of the alerts you route there, posted to the incoming-webhook URL you supply. Generic webhook deliveries are signed with a shared secret; the URL and the secret are stored encrypted and are never returned in full by the API.

Retention: Messages persist in the destination workspace, or at your endpoint, under its own terms. Remove the channel in settings to stop delivery.

Sentry

Optional backend error monitoring. Only active when configured for the deployment.

Data flow: Error and stack-trace data, with four protections applied before anything is sent. No user id, IP address or cookies are attached. Captured stack frames carry no local variables, which keeps prompt and document text out of an error report. Request bodies are not captured at all. And every email address anywhere in the event is redacted, except addresses at the platform's own domain, which are needed to tell one email-delivery failure from another; if that redaction fails, the event is dropped rather than sent.

Retention: Subject to the configured Sentry project retention.

Public data flows that are not subprocessors

One product mechanism intentionally places data in a public location today, and one more would if it were enabled. Both are listed here because anything published this way cannot be recalled.

Base (public blockchain, not currently enabled)

On-chain proof anchoring is not enabled on this deployment. No content hash, transaction, or any other data has been written to Base or to any other public blockchain. The capability exists in the codebase but is inert. If it is ever switched on, it would write content hashes and transaction references to a public network where they are permanent and cannot be deleted; raw document content would still never be placed on-chain. This page is updated before anchoring is enabled, not after.

Canary seeding surfaces (Pastebin, GitHub Gists, similar paste services)

The canary seeding pipeline plants synthetic decoy identities in public locations so attacker pickup can be detected. Only fabricated decoy data is seeded. Real customer content is never posted to these surfaces.

Notes on this list

How to read the entries above.

  • This list is maintained alongside the codebase. Material changes to this list are announced before they take effect.
  • Threat-intelligence services receive attacker IP addresses only; they never receive your account data, documents, or prompts.
  • Services marked optional are only active when the deployment operator has configured them.
  • Questions about any entry on this page, and privacy requests, go to hello@canaryvaults.com. The security mailbox is for vulnerability reports.

Related trust pages