Privacy Policy
Effective date: 16 October 2026
Who we are
Citation Tracker is run by DemandBox, a growth agency based in New York, NY, USA. In this policy, "we", "us" and "our" mean DemandBox.
For any privacy question or request, email hello@demandbox.co.
What this policy covers
This policy covers:
- the citationtracker.ai website, including the free audit form at /audit
- the Citation Tracker app that signed-in users work in
- reports shared through links (/r/...), including PDF and data downloads
- the Citation Tracker API (/v1), API keys and webhooks
It does not cover DemandBox's agency services. Those are covered by demandbox.co/privacy-policy.
When we act for a client
Some data we handle on behalf of a client, under the client's instructions:
- the brand data a client gives us, such as its brands, competitors, prompts and brand profile
- the Agent Analytics data a client sends us from its own website
For that data, the client is the controller and we are its processor. If your request is about this data, contact the client first. We will help the client answer it. If you contact us directly, we will pass your request on to the client.
What we collect
1. People who ask for a free audit
When you fill in the form at /audit, we store:
- Your work email address. We do not accept free email services.
- The domain you want audited.
- A competitor, if you enter one (a name or a domain).
- Your marketing choice. This records whether you ticked the box that lets DemandBox contact you about the report, and which version of that wording you saw. The box starts unticked.
- A hashed version of your IP address. We keep a keyed hash (a scrambled code) of the IP address you submit the form from, not the IP itself. The same IP always gives the same hash. We use it to limit audits to 3 per IP address each day. We also allow at most 3 audits per email domain each day.
- Where you came from, if the link you followed carried a source tag.
- System details, such as the request status and links to the report it produced.
What happens next:
- The domain and the competitor are added as brand records in DemandBox's own workspace. We use them to write prompts for AI services and to read public web pages. Your email address is never sent to an AI service.
- We email you a link to your report, whatever you chose for marketing. The link works for 30 days.
- If the domain already belongs to one of our clients, we do not run an automatic audit. A DemandBox strategist handles the request instead.
- If the automatic report fails our quality checks, we do not send it. A DemandBox staff member reviews it first.
- When you open your report link, we log your full IP address like any other report viewer (see section 3).
- We record your request in our CRM (monday.com) when it is connected. The record holds your email address, your marketing choice and the report link. It is created even if you did not agree to marketing. In that case it is marked so we only send you the report.
- We may post an internal notice to our team chat (Slack) with the domain, a summary of the results, your marketing choice and the report link. Your email address is not included.
2. Account users and people invited to a workspace
- Your account: email address, first and last name, and your sign-in ID. We get these from WorkOS, our sign-in provider, each time you sign in.
- Your workspace role: which workspace you belong to, your role, and which brands you can see.
- Invitations: the invitee's email address, role, who sent the invitation, and when. The invitation email shows the sender's email address.
- Directory sync: if your company connects its user directory through WorkOS, we receive each person's directory ID, email, status, groups and role.
- Billing: when a workspace pays, we send Stripe the workspace name and the email of the person who starts checkout. Card details are entered on Stripe's page and never reach us.
- What you write and do in the app: for example comments, assigned actions, reviews and labels. These are linked to your user ID.
- Email alert recipients: a workspace can send alerts and digests to any email address it adds, including people outside the workspace. We store those addresses.
- API keys: the key name you choose, its permissions, who created it, and when it was last used. We store only a hash of the key itself, plus a short prefix so you can recognize the key.
- Webhooks: the URLs you register, and a record of each delivery (its content, status and any error).
- Activity log: we log actions in a workspace, such as inviting or removing a member. Some entries include the email address of the member or invitee involved, or a webhook URL.
When you use the app while signed in, we do not log your IP address. We log an IP address in two cases:
- when an API request is refused because the API key lacks the needed permission. We keep at most one such entry per key and route each minute.
- when anyone, signed in or not, opens or downloads a shared report (see section 3).
3. People who open a shared report
Reports can be shared through a link, with an optional password and an expiry date. We do not ask viewers for a name or email.
Each time someone does any of these:
- opens a shared report,
- downloads its PDF, or
- downloads its data,
we log the time, the action and the viewer's full IP address. Owners and admins of the workspace that shared the report can see this log. They can also export it, including through the API.
If the report has a password, we keep it in an encrypted cookie for 12 hours, so you are not asked again.
Shared reports can show short excerpts of AI answers.
4. Visitors to a client's website (Agent Analytics)
This applies only if a client turns on Agent Analytics for its own website. The client decides this and is the controller of the data.
A client can send us data from its site in these ways:
- uploading server log files
- sending Cloudflare logs
- adding a short piece of server or edge code to its site that reports AI bot fetches and AI-referred visits
- connecting Google Analytics 4
What we keep in our database:
- AI crawlers (bots whose user agent matches a known AI bot): time, bot name, page URL, response status, the full IP address, and the user agent. We check claimed bots against their IP address using a reverse DNS lookup.
- People arriving from an AI assistant (for example a link in a ChatGPT answer): time, which assistant, and the landing page URL. We do not store their IP address or user agent.
- All other visitors: nothing is written to our database.
- Google Analytics 4: daily totals by traffic source and landing page only.
What we keep in files:
- Log files a client uploads or sends from Cloudflare are stored as received. They can include every visitor's IP address, user agent, referring page and full URL.
- Events from the server or edge code are stored in files. Visitor events keep only the page URL, the referring page and the time. AI bot events also keep the bot's IP address and user agent.
In our database, we remove common tracking tags such as utm codes and ad click IDs from URLs. We keep the rest of the URL, including other query parameters. Stored log files and events from the server or edge code keep full URLs exactly as received.
5. Public web content and AI answers
Our main job is to ask AI services questions about a client's market and record how they answer. We store:
- the answers the AI services give, including screenshots of answers from consumer AI apps
- the brands and products named in those answers, with a short quote around each mention
- the sources the answers cite: link, link text and a short excerpt
- the cited pages: title, description and the page text
This content is about companies and products. It can still include people's names, such as executives, authors, reviewers or forum users, because they appear in public answers and pages. We do not build profiles of individuals.
How we use data, and our legal bases
We use personal data to:
- Run the service you signed up for: sign-in, workspaces, reports, alerts, the API and billing. (Legal basis: contract.)
- Deliver a free audit you asked for, and record the request. (Legal basis: steps you asked us to take before any contract, and our legitimate interest in running the free audit.)
- Keep the service secure and prevent abuse: rate limits, the activity log, logs of report views and downloads, and logs of refused API requests. (Legal basis: legitimate interests, meaning security and accountability to workspace owners.)
- Study how AI services talk about brands, using public answers and pages. (Legal basis: legitimate interests, meaning the service our clients pay for.)
- Contact you about your free audit report, only if you ticked the box. (Legal basis: consent.) Without it, we only send the report link you asked for.
- Process client data for clients, including brand data and Agent Analytics. We do this on the client's instructions, under the client's legal basis.
The product sends no marketing email. Any follow-up about a free audit is sent by a person at DemandBox, and only if you agreed to be contacted.
AI processing
To produce reports, we send prompts to AI services:
- OpenAI
- Anthropic
- Perplexity
- cloro, which collects answers from consumer AI apps such as ChatGPT, Gemini, Perplexity and Google AI Overviews
- DataForSEO, which collects answers from consumer AI apps and Google's AI results, once we turn it on
A prompt contains the question, a short persona and a country or city. Prompts are built from brand data: the brand, its competitors, its site profile and the topics the client chose.
We use Anthropic's Claude, directly or through Amazon Bedrock, to analyze AI answers, cited pages and brand facts. We use OpenAI's embeddings to compare prompts, competitor and brand names, recommendations and cited page text.
We do not put account data in prompts. That means no user emails, names, IP addresses, or the email of a free audit requester. Personal data reaches an AI service only in two ways:
- a client or free audit requester types it into a brand profile, prompt or competitor field, or
- it already appears in a public answer or web page we analyze.
If we turn on Langfuse, an LLM tracing tool, it receives copies of these AI inputs and outputs.
Who we share data with
We do not sell personal data. We do not share it for advertising.
We use these service providers:
| Service | Purpose | Personal data it can receive |
|---|---|---|
| Vercel | Hosting, and file storage (Vercel Blob) | All website and app traffic, including IP addresses and form contents. Stored files: raw AI answers and screenshots, cited page text, report files, Agent Analytics files. |
| Neon | Database | All data described in this policy |
| Inngest | Background jobs | Workspace and record IDs, brand data, AI answers, report summaries. Emails of people assigned to actions, when someone in a workspace starts an export of actions to monday.com. |
| WorkOS | Sign-in and directory sync | Account emails, names, sign-in sessions, directory data |
| Resend | Sending email | Recipient emails, the inviter's email in invitations, report links, alert and digest content |
| Stripe | Billing, when a workspace pays | Workspace name and the email of the person who starts checkout |
| OpenAI | AI answers and text embeddings | Prompts with a persona and city or country. For embeddings: prompts, competitor and brand names, recommendation text and the first 8,000 characters of cited pages. |
| Anthropic | AI answers and analysis | Prompts, AI answers, cited page text, brand facts |
| Amazon Web Services (Bedrock) | AI analysis with Anthropic's Claude models, once we move analysis there | Prompts, AI answers, cited page text, brand facts |
| Perplexity | AI answers | Prompts |
| cloro | Collecting answers from consumer AI apps | Prompts and country |
| DataForSEO | Collecting answers from consumer AI apps and Google's AI results, once we turn it on | Prompts and country |
| Firecrawl | Reading public web pages | Public page addresses |
| MrScraper | Backup reader when Firecrawl cannot read a public page | Public page addresses |
| Browserless | Creating report PDFs | The full content of the report being printed |
| monday.com | Our CRM, when connected | Free audit requester's email, marketing choice and report link. Emails of action owners, if a workspace exports actions. |
| Slack | Internal team notices, when connected | Audited domain, results summary, marketing choice, report link (no email) |
| Langfuse | LLM tracing, only if we turn it on | Parts of AI inputs and outputs |
| Cloudflare | Storage for Cloudflare logs, only if a client sends them | Client website logs, including visitor IP addresses and user agents |
| Google (GA4) | Analytics data, only if a client connects it | Daily traffic totals |
We may also disclose data:
- if the law requires it,
- to protect our rights or users' safety, or
- to a buyer if DemandBox or Citation Tracker is sold.
DemandBox staff with an owner, admin, strategist or analyst role can see every client workspace that DemandBox manages.
Cookies
We set only the cookies the service needs. We use no analytics cookies, advertising cookies or tracking scripts, and we store nothing in your browser's local storage.
| Cookie | Purpose | Lasts |
|---|---|---|
prism_session | Keeps you signed in. Holds your user ID, email address, workspace ID, sign-in method and organization ID. It is signed so it cannot be changed. It is not encrypted. Web page scripts cannot read it. | 14 days |
wos-session | Encrypted sign-in session from WorkOS | Up to 400 days |
wos-auth-verifier | Security check during sign-in | 10 minutes |
prism_sp_... | Remembers a report's password, encrypted, for that report link only | 12 hours |
WorkOS's sign-in pages and Stripe's payment pages set their own cookies on their own sites.
How long we keep data
| Data | How long |
|---|---|
| Free audit requests | Until you ask us to delete them. No automatic deletion. |
| Free audit reports, and the domain and competitor records | No automatic deletion. We delete them on request. |
| Free audit report links | Stop working after 30 days |
| Account records (email, name, sign-in ID) | Until you ask us to delete them. Removing you from a workspace removes your membership, not your account record. |
| Invitations, directory sync data, alert recipient emails | Until the workspace is deleted, or until you ask us to delete them |
| Activity log, including viewer IP addresses and refused API requests | 24 months, even after a workspace is deleted |
| AI answers and citations in our database | 13 months |
| Copies of answers kept for quality review, stored answer files and screenshots | No automatic deletion yet. We delete them on request. |
| Brand mentions and quotes, cited page records, stored page files | No automatic deletion yet. We delete them on request. |
| Reports | For as long as the workspace exists. When a workspace is deleted, we remove older PDF versions and exports by hand. |
| Job data at Inngest, our background job service, including AI answers | Inngest keeps run history for 7 days on our plan |
| Agent Analytics: AI crawler events and AI referral visits in our database | 6 months |
| Agent Analytics: daily totals | For as long as the workspace exists |
| Agent Analytics: uploaded and Cloudflare log files, and files of events from server or edge code | No automatic deletion yet. We delete them when the client asks. |
| Records of incoming webhooks from Stripe, WorkOS and monday.com | 30 days |
| Database backups | Up to 7 days. Deleted data can remain in backups for that long. |
A client can ask us to delete its whole workspace. We run the deletion, then remove by hand anything it does not cover, such as older report files, exports, Agent Analytics log files and account records.
Security
What we do:
- Encryption in transit: traffic uses HTTPS.
- Separate workspaces: the database keeps workspaces apart, so a user sees only data from workspaces they belong to.
- Protected secrets: integration credentials and webhook secrets are encrypted (AES-256-GCM).
- Hashed tokens and passwords: we store report link tokens and API keys as keyed hashes, plus a short key prefix so you can recognize a key. The one exception is the free audit report link, which is stored encrypted so the requester's status page can show it. Report passwords are stored only as bcrypt hashes.
- Hashed IP addresses on the free audit form.
- Private files: stored files are private and served only through short-lived signed links.
- Encryption at rest: our database and file storage providers encrypt stored data.
No system is perfectly secure. If we learn of a breach that affects your personal data, we will tell you as the law requires.
International transfers
We host Citation Tracker in the United States:
- Vercel, in the eastern US (the application)
- Neon, in the eastern US
- Inngest and Resend, in the eastern US
- Browserless, in San Francisco
Our stored files are kept in Vercel's file storage (Vercel Blob).
If you are outside the US, your data is transferred to the US.
Some processing can happen outside the US:
- Vercel's network: your connection first reaches a nearby Vercel location before going to the US.
- Anthropic: may run analysis in other countries. This covers brand data, AI answers and page text, not account data.
- cloro: a company based in Malta. It receives prompts and a country.
- DataForSEO: once we turn it on, it receives prompts and a country and can process them outside the US.
- Amazon Bedrock: once we move analysis there, AWS may process requests in other AWS regions. This covers brand data, AI answers and page text, not account data.
- Langfuse: if we turn it on, it stores data in the EU.
- monday.com, Slack and Cloudflare: when used, they store data where each service hosts our account, which can be outside the US.
Where EU or UK law requires a safeguard for these transfers, we rely on the standard contractual clauses or similar terms in our providers' data processing agreements.
Your rights
Wherever you live, you can ask us to:
- show you the personal data we hold about you, and give you a copy
- correct it
- delete it
- stop using it, or limit how we use it, where we rely on legitimate interests
- stop contacting you about a free audit report. This withdraws your marketing consent.
EU and UK residents also have the right to data portability. You can complain to your local data protection authority.
California residents have the right to know, delete and correct personal data, and the right not to be treated differently for using these rights. We do not sell or share personal data for cross-context behavioral advertising. We do not use sensitive personal data to infer things about you. An authorized agent can make a request for you.
How to ask. Email hello@demandbox.co and tell us what you want. We may ask you to confirm the request from the email address it concerns. If we hold only your IP address, for example because you opened a shared report, tell us the IP address, the date and the report link so we can find the record. We respond within 30 days.
If your data came to us through a client (brand data, or Agent Analytics data from a website you visited), ask that client first. You can also write to us and we will pass your request on.
If you receive alerts or digests from a workspace and want them to stop, ask the workspace admin or email us.
Children
Citation Tracker is a business service. It is not meant for anyone under 16, and we do not knowingly collect their data. If you believe a child has given us personal data, email us and we will delete it.
Changes to this policy
When we change this policy, we post the new version here with a new effective date. If a change is significant, we will email workspace owners, and free audit requesters whose requests we still hold, before it takes effect.
Contact
DemandBox New York, NY, USA hello@demandbox.co