Skip to content
Trust

Security, by default.

What we do to keep your workspace private, exactly what we send to which provider, and how to reach us about a vulnerability.

Row-level security everywhere

Every table enforces access in the database itself, not just in the app. Policies are covered by automated tests.

No passwords

Sign-in uses one-time email links, so there’s no password to reuse, phish or leak.

Secrets stored as hashes

API keys, invitation tokens and share links are stored only as SHA-256 hashes and shown once.

Strict browser security

A content security policy with no third-party scripts, no framing and HTTPS enforced.

Signed, guarded webhooks

Every delivery is HMAC-signed, and only public HTTPS hosts can receive them.

Minimal data to AI

Engines get your prompts; the writer gets your public site content and Brand Brain. Your email, team and billing details never go to an AI provider.

[01]Access control

Only your team, only your data.

Access is enforced twice: in the application and by row-level security policies in the database.

  • Workspace data is only readable by members of that workspace; client logins see only the brands they were granted.
  • Four roles — owner, admin, member and read-only client. Billing, team, API keys and webhooks require owner or admin.
  • Sign-in emails are rate-limited per address and per IP, and free audits per IP and per domain, to stop abuse.
  • The platform admin area is limited to an explicit allow-list of operator email addresses.
What each role can do
PermissionOwnerAdminMemberClient
View dashboards & answers
Edit brands, prompts & reports
Invite and manage the team
Billing
API keys, webhooks & Slack
Delete the workspace

Client logins are read-only and limited to the brands they’ve been granted.

[02]Infrastructure

Hardened at every layer.

From the headers on every page to the jobs that run in the background.

Content-Security-PolicyStrict-Transport-Security · 2 yearsX-Frame-Options: DENYframe-ancestors 'none'X-Content-Type-Options: nosniffReferrer-PolicyPermissions-PolicyCross-Origin-Opener-Policy

Transport & storage

  • All traffic is served over HTTPS with HSTS.
  • Data is encrypted at rest by our database provider.
  • CMS credentials are additionally encrypted with AES-256-GCM in a table no browser session can read, and never shown again after you save them.
  • No third-party scripts, so nothing else runs on our pages.

Outgoing requests

  • Webhooks only go to HTTPS URLs that resolve to public addresses — private and internal networks are refused.
  • Each delivery carries a timestamped HMAC-SHA256 signature you can verify.
  • The site crawler and publishing integrations only reach public addresses and follow redirects safely.
  • Forms can only post to us, or redirect to Stripe Checkout and the billing portal.

Background work

  • Scheduled jobs run in short, time-boxed invocations triggered with a secret bearer token.
  • Secrets live in environment variables and Supabase Vault, never in code.
  • Errors are logged to our own database, not a third-party tracker.

Cost & abuse guardrails

  • Per-workspace monthly limits on AI checks, plus a platform-wide daily spend cap.
  • Shared rate limits and a circuit breaker per AI engine.
  • The AI-referral beacon accepts only rate-limited, minimal payloads.
[03]AI providers

Exactly what leaves the building.

Measuring AI answers means talking to AI providers. Here is everything we send them, and why.

Data sent to AI providers
WhatSent toWhy
Your buyer promptsThe engines on your plan — OpenAI, Perplexity, Anthropic, GoogleTo get the answers we measure. Sent verbatim, with no hint about your brand.
Answer text, plus your brand name, aliases, domain and competitor namesAnthropicTo read each answer: mentions, rank, sentiment, competitors and sources.
Text from your public homepageAnthropicTo propose competitors and prompts during onboarding, and as context for weekly recommendations.
Your scores, missed prompts and gap domainsAnthropicTo write your weekly recommendations from your own data.
Your countryOpenAI, Perplexity, AnthropicAs an approximate location, so web results match your market.
Text from your crawled public pages, your Brand Brain and search resultsAnthropicTo build the Brand Brain, plan, write and fact-check articles in your voice, and suggest technical fixes.
Your domain, competitor domains and keywordsDataForSEOFor keyword research, search results behind articles and community threads, and traffic estimates.
Your public page URLsGoogle PageSpeed InsightsTo measure Core Web Vitals in the technical audit.
Featured-image descriptionsOpenAI or GoogleTo generate an article’s featured image.
Finished articlesThe CMS or webhook you connectTo publish them — only to destinations you set up.
Never sent to AIyour account emailteam membersbilling datatraffic data

Each provider’s API data-use terms apply to this traffic. See their API policies for how they handle and retain requests.

[04]Retention & control

Kept as long as useful. Yours to take.

400days

Full answer text

Raw AI answers are removed after this; aggregated scores are kept for the life of the workspace.

30days

Audit IP hashes

Free-audit IP addresses are only stored as salted hashes for rate limiting, then cleared.

0cookies

AI referral tracking

The snippet records the AI source and page path only — no cookies, no personal identifiers.

Export anytime

Download your workspace data as JSON from account settings.

Delete a brand

Removes its prompts, answers and metrics.

Delete your account

Removes your membership and, for workspaces you solely own, all workspace data.

[05]Subprocessors

Who helps us run it.

The companies that process data on our behalf, and what each one receives.

Subprocessors
ProviderPurposeData
VercelApplication hosting and serverless functionsRequests and application data in transit
SupabaseDatabase, authentication and scheduled jobsWorkspace data, account email
StripePayments and subscription billingBilling details (entered on Stripe)
OpenAIChatGPT answers to your tracked prompts; featured images for articlesBuyer prompts, image descriptions
AnthropicClaude answers, answer analysis, Brand Brain, article writing and fact-checking, fix suggestions, plans and recommendationsPrompts, answer text, brand & competitor names, crawled public pages, search results
GoogleGemini answers to your tracked prompts; PageSpeed Insights for Core Web Vitals; optional featured imagesBuyer prompts, public page URLs, image descriptions
DataForSEOKeyword, ranking and search-results data for research, articles, community threads and traffic estimatesYour domain, competitor domains and keywords
PerplexityPerplexity answers to your tracked promptsBuyer prompts
ResendTransactional and notification emailEmail address and message content
[06]Responsible disclosure

Found something? Tell us.

Email details and steps to reproduce. We appreciate responsible disclosure, will respond as quickly as we can and keep you updated while we fix it.

support@example.com

Please include

  • The affected URL or endpoint
  • Steps to reproduce, and what you expected
  • The impact you believe it has
  • How we can reach you to follow up

Please don’t

  • Access or modify other customers’ data
  • Run denial-of-service or high-volume tests
  • Use social engineering or phishing
Certifications: we don’t currently hold third-party security certifications, and we won’t imply otherwise.System status

Free AI audit

See what AI says about you.

Enter your website. We’ll ask real buyer questions on two engines and show where you appear, who appears instead, and what to fix first.

Your website

Free · 5 buyer questions · 2 AI engines · no signup to see your score

  1. 01Where you appear across AI answers
  2. 02Who AI recommends instead of you
  3. 03Every answer, with the sources cited

Free · results in about a minute · or start a 3-day trial