Bowmark — Privacy Policy
Last updated: July 30, 2026
This Privacy Policy explains how Bowmark AI Inc. ("Bowmark", "we", "us"), a company incorporated in British Columbia, Canada, collects, uses, discloses, and protects personal information in connection with the Bowmark website, API, and MCP service (the "Service"). It applies to our users and visitors and is incorporated into our Terms of Service. Bulk data exports are governed separately by the Data License Agreement.
We handle personal information in accordance with British Columbia's Personal Information Protection Act (BC PIPA) and Canada's Personal Information Protection and Electronic Documents Act (PIPEDA), which applies to our interprovincial and international activities. Where applicable, we also address Quebec's Act respecting the protection of personal information in the private sector (Law 25), the EU/UK GDPR, and the California CCPA/CPRA.
1. What we collect
We aim to collect the minimum information needed to run the Service. We collect:
Account information (via our authentication provider, Clerk): your name, email address, and authentication identifiers when you sign up or sign in.
Records of your agreement to these terms. When you accept our legal terms, we keep a record of which version you agreed to and when (and your browser's user-agent string), as the record of your consent.
Usage and session information. We record how the Service is used, including: the requests you make to the Service, timestamps, error events, performance and diagnostic telemetry, and account/session identifiers.
Scripts you (or your AI agent) send us, and what they return. The core of the Service is that you send us a short JavaScript script and we run it. For each run we store: the exact script we received, the library documentation it was written against, the value the script returned, the script's own log() output, and an execution trace naming which capabilities ran and which third-party sites they reached. We store this so you and we can see what a run actually did — it is the only record of it. A script is written by you or by an AI agent acting for you, and it may contain whatever you put in it, so do not put personal or confidential information into a script.
Results retrieved from third-party sites. A run fetches data from the sites the capability covers (for example flight prices or retailer listings) and returns it to you. That fetched content is stored with the run record, as above.
We do not log or store your IP address in the authenticated Service (the API, the MCP server, and your account). The other session and usage information described above is collected. (Separately, our public marketing website uses a third-party visitor-analytics tool that may collect site visitors' IP addresses — see §6. That applies to the marketing website only, not to the Service.)
Communications. If you contact us, we keep the content of your messages and our responses.
Billing information. When you purchase a paid plan (such as the Pro plan or the Data subscription), our third-party payment processor, Stripe, collects and processes your payment details through its hosted checkout and billing portal. We do not receive or store your full payment-card number. We retain limited billing records — such as your Stripe customer and subscription identifiers, your plan and subscription status, the billing period, and the email associated with billing.
Hugging Face account (Data subscribers). If you subscribe to Bowmark Data, we collect the Hugging Face username you connect (either by signing in with Hugging Face or by entering it) so that we can grant your account access to the gated dataset repository and revoke it when your subscription ends. We share that username with Hugging Face for this purpose (see §6).
If you link a Bowmark account from an AI assistant (optional). Bowmark can be used through an AI assistant such as ChatGPT without signing in at all, and that is the default. If you choose to sign in, we receive from our authentication provider a Bowmark user identifier (the sub value for your account) and the scopes you granted — openid, profile, email. We use it for one purpose: to associate that assistant's requests with your Bowmark account so your plan and usage limits apply. We do not receive your password. You can disconnect at any time (see §10), and we do not require you to link an account in order to use the Service.
We do not intentionally collect special-category/sensitive personal information, and you should not submit it to the Service.
2. A note on third-party sites the Service visits
When you run a script, the Service visits third-party websites on your behalf and retrieves what you asked for. We no longer crawl the web to build an index — a site is visited at the moment a run needs it, and only the sites the capability you called covers.
In doing so the Service may incidentally encounter information published on those sites, which can include personal information about third parties placed there by the site operators or others. We do not seek it out and we do not filter it out — whatever the page returns for your query is what comes back. You decide which capability to call and with what inputs, and so you determine the scope of what is retrieved. You are responsible for the instructions you give the Service, including for not directing it at other people's private information.
This Policy governs our handling of our users' personal information. Our handling of content in any bulk Dataset is addressed in the Data License Agreement.
3. How we use information
We use personal information to: provide, operate, secure, and improve the Service; authenticate users and manage accounts; process payments and manage subscriptions; provision and revoke access to purchased datasets; prevent fraud and abuse; monitor performance, debug, and maintain reliability; communicate with you about the Service; and comply with legal obligations and enforce our Terms.
We do not sell your account information. (See Section 10 for the CCPA-specific meaning of "sell/share" and how it relates to our Dataset product.)
4. Legal bases (where GDPR applies)
Where the GDPR applies, we rely on: performance of a contract (to provide the Service you request); legitimate interests (to secure, improve, and operate the Service, and to prevent abuse), balanced against your rights; consent (where required, e.g. certain communications or cookies); and legal obligation (to comply with law).
5. Cookies and similar technologies
We use strictly necessary cookies and tokens to keep you signed in and to operate the Service securely. Our public marketing website also uses a non-essential third-party visitor-analytics tool (see §6); where required by law (for example for visitors in the EEA/UK) we obtain consent before setting non-essential cookies or trackers. You can control cookies through your browser; disabling essential cookies may break the Service.
6. How we share information — service providers (sub-processors)
We share personal information only as needed to run the Service, with providers acting on our instructions under contract, including:
Authentication — Clerk (account sign-in and identity management).
Object storage — Cloudflare R2 (operational data and artifacts).
Network / DNS / CDN — Cloudflare (traffic routing, security, and content delivery).
Hosting / infrastructure — GTHost (the dedicated-server provider whose infrastructure hosts the Service). Operational telemetry runs on a self-hosted SigNoz instance on that infrastructure, so usage diagnostics are not sent to a third-party analytics service.
Network egress for runs — IPRoyal (a residential proxy network). Requests the Service makes to third-party sites on your behalf are routed through it, so it handles that traffic in transit. It is not used for your account data or for the marketing website.
Bot-challenge solving — CapSolver and 2Captcha. When a third-party site presents an anti-bot challenge during a run, the challenge (which can include a page screenshot or page data) is sent to one of these providers to be solved so the run can continue. They process it under their own terms.
AI model providers — running a script does not involve an AI model. A run executes the code you sent, deterministically; we do not send your script, your inputs, or the results to a model provider. We use model providers only for internal engineering work on the Service itself (such as evaluating the quality of our own capability catalogue) and, historically, for features that are no longer part of the Service. We do not use your scripts, inputs, or results to train models, and we do not permit our providers to. If this ever changes we will update this Policy before it does.
Payment processing — Stripe (hosted checkout, billing portal, and subscription management for paid plans). Stripe receives the information needed to process your payment (such as your name, email, and payment-card details) and processes it under its own privacy policy. We do not receive or store your full payment-card number — we retain only limited billing records (see §1).
Dataset delivery — Hugging Face (for Bowmark Data subscribers, the dataset is delivered through a gated Hugging Face repository). We share the Hugging Face username you connect with Hugging Face so we can grant and revoke your access to that repository; your use of Hugging Face is also subject to its own terms and privacy policy.
Marketing-website visitor analytics — lemlist (a visitor-tracking script on our public website at
bowmark.ai, used for marketing attribution). It may collect site visitors' IP addresses and browsing activity. This applies to the public marketing website only, not to the authenticated Service.
We may also disclose information: to comply with law, legal process, or lawful requests; to enforce our Terms; to protect the rights, safety, and security of users, the public, or us; and in connection with a merger, acquisition, financing, or sale of assets (with notice where required).
7. International transfers
To provide the Service, we and our providers may process personal information outside your province and outside Canada — including in the United States (for example Cloudflare, Stripe, Clerk, and Hugging Face) and the European Union and other regions (for example lemlist, Stripe, and the proxy and challenge-solving providers named in §6, whose exit points are distributed across many countries by design). Privacy laws in those countries may differ from, and offer less protection than, those in your jurisdiction, and personal information may be subject to lawful access by foreign authorities. Where personal information is transferred across borders we take steps required by applicable law (such as appropriate contractual safeguards), and under BC PIPA and PIPEDA we remain accountable for it. By using the Service you consent to these transfers; do not submit information you do not want processed in these locations.
8. Retention
We keep personal information only as long as needed for the purposes described here, to comply with legal, tax, and accounting obligations, and to resolve disputes and enforce our agreements, after which we delete or de-identify it. Our retention periods are:
- Account information — kept for the life of your account. When you ask us to delete your account or your information (contact privacy@bowmark.ai), we delete or de-identify it within 90 days of your request, except records we are required to keep longer for legal, tax, or dispute-resolution purposes.
- Run records — the script we received, the library text, the returned value,
log()output and the execution trace — kept while your account is active, so that you and we can inspect what a run did. We do not currently delete these on a fixed schedule; we delete or de-identify them within 90 days of a valid deletion or account-closure request. We would rather tell you that plainly than publish a retention window we do not yet enforce automatically. - Other usage and request records stored in our systems (such as session metadata and counters) — kept while your account is active. We delete or de-identify them within 90 days of a valid deletion or account-closure request.
- Diagnostic and performance telemetry (traces and logs in our self-hosted SigNoz) — automatically deleted after up to 30 days.
- Backups — database backups are retained for up to 60 days; system and configuration backups follow a rolling schedule (recent daily, weekly, and monthly snapshots) retained for up to six (6) months. Information you delete persists in backups only until those backups age out of the cycle.
- Billing records (such as invoices, transaction and subscription identifiers, and billing status held by us; full payment details are held by Stripe) — retained for at least six (6) years, as required by Canadian tax law.
- Support communications — retained for up to 24 months.
9. Security
We use reasonable administrative, technical, and physical safeguards appropriate to the sensitivity of the information, including access controls, encryption in transit, and scoped credentials. No method of transmission or storage is fully secure, and we cannot guarantee absolute security.
10. Your rights
Subject to applicable law, you may request to: access the personal information we hold about you; correct inaccurate information; delete information; withdraw consent; and, where applicable, port information. To exercise a right, contact privacy@bowmark.ai. We will respond within the time required by law and may need to verify your identity.
Disconnecting an AI assistant. If you linked your Bowmark account to an AI assistant, you can disconnect it at any time, either from the assistant (in ChatGPT: Settings → Connectors; in Claude: Settings → Connectors) or by revoking the grant from your Bowmark dashboard. Revocation takes effect immediately: the access token stops working on the next request, and requests from that assistant fall back to anonymous use rather than failing. Run records already created remain subject to the retention rules in §8.
What the assistant does with the results is outside our control. When you use Bowmark through ChatGPT, Claude, or another AI client, the results we return are delivered into that assistant's conversation, and that provider's own privacy policy governs what it then does with them. We have no control over it. Review that provider's terms before linking an account.
- BC PIPA / PIPEDA (Canada). You have rights of access and correction and the right to withdraw consent (subject to legal/contractual limits). You may complain to the Office of the Information and Privacy Commissioner for British Columbia (OIPC BC) or, for matters under PIPEDA, the Office of the Privacy Commissioner of Canada.
- Quebec (Law 25). Quebec residents have additional rights, including data portability and the right to complain to the Commission d'accès à l'information.
- GDPR (EEA/UK). You also have rights to restriction, objection, and to lodge a complaint with your supervisory authority.
- CCPA/CPRA (California). You have rights to know, delete, correct, and to opt out of "sale" or "sharing."
Note on the Dataset product and "sale/share": With respect to your account and usage information, we do not sell or share it as those terms are defined under the CCPA. Our separate Dataset product concerns data derived from publicly accessible third-party sites, not your account information; if any Dataset includes California personal information such that the CCPA applies, the required disclosures and an opt-out mechanism will be provided through the Data License process.
11. Children
The Service is not directed to children and is intended for business and adult users. We do not knowingly collect personal information from children. If you believe a child has provided information, contact us and we will delete it.
12. Automated processing
The Service uses automated systems and AI models to generate Output. We do not use your account information to make decisions producing legal or similarly significant effects on you without a lawful basis and, where required, appropriate safeguards and the ability to request human review.
13. Changes to this Policy
We may update this Policy. We will revise the "Last updated" date and, for material changes, provide notice where required. Where a change involves a new collection, use, or disclosure of your personal information that requires your consent, we will ask for that consent; you may decline, and you may stop using the Service. We condition continued use of the Service only on the processing that is necessary to provide it — we do not require you to consent to unnecessary or secondary processing as a condition of using the Service. Continued use of the Service after a non-material change takes effect means you accept the updated Policy.
14. Contact and person responsible for privacy
For privacy questions or to exercise your rights, contact the person responsible for the protection of personal information at Bowmark:
Privacy Officer, Bowmark AI Inc. 9371 Dolphin Ave, Richmond, BC, Canada privacy@bowmark.ai