Legal
Privacy Policy
This policy explains what personal data Nexxtool AI (“we”, “us”) collects when you use nexxtool.ai and the Nexxtool AI service, why, how long we keep it, who receives it, and the rights you have. The service is for businesses and adults (18+) only. The data controller is [OWNER: legal entity name and form, e.g. company name and state of registration]. Contact is by email only.
1. What we collect and why
| Data | Why | Where it is stored |
|---|---|---|
| Account: email address, password (stored only as a hash by our sign-in provider), or your Google/GitHub identity if you sign in that way | Create and secure your account, send account emails | Supabase |
| Consent record: which Terms and Privacy versions you accepted and the time (UTC) | Prove consent | Supabase |
| Your rule sets and settings (the rules you write, such as banned words) | Run your checks | Supabase |
| API keys: only a one-way hash, a short prefix and a label. The full key is shown to you once and is never stored | Authenticate your API calls | Supabase |
| Check history: see section 2 | Show you what was checked and why it passed or was blocked | Supabase |
| Usage counts per month | Enforce your plan’s monthly cap; send 80% and 100% usage emails | Supabase |
| Billing: plan, subscription status and Stripe customer ID. Your card details go straight to Stripe and never reach us | Provide paid plans, receipts, failed-payment handling | Stripe; plan state in Supabase |
| Technical data: IP address, browser type and request details | Rate limiting, abuse prevention, debugging. IP addresses appear in our hosting providers’ request logs | Vercel, Railway ([OWNER: hosting log retention as configured at Vercel and Railway]) |
| Website analytics (PostHog): the pages you view, the website you came from and any campaign tags in the link (utm_source, utm_medium, utm_campaign), your device type, browser and operating system, an approximate location (country, region, city) worked out from your IP address (PostHog receives the IP address with each request), an anonymous visitor ID, and five product events: sign-up started, sign-up completed, first check run, upgrade clicked (with the plan name) and checkout completed (with the plan name). When you are signed in, an opaque account ID (a random identifier, not your email). See section 6 | Understand which pages and campaigns bring visitors and where sign-up and upgrade steps fail | PostHog (US cloud) |
| Error log: route, status code and a short message for failed requests (no request bodies, no reply text), with your account ID when known | Find and fix faults | Supabase |
| Stripe webhook log: event ID, event type and result | Keep billing in sync | Supabase |
| Admin audit trail: what a Nexxtool AI administrator did to an account (for example a suspension), with the administrator’s email | Accountability and security | Supabase |
| Emails we send you and your messages to support | Run the service, answer you | Resend (sending); our mailbox |
We use this data to run the service, authenticate you, take payment, enforce plan limits, prevent abuse, send the emails described below, answer support requests, meet legal duties, and fix errors. We do not use it for advertising and we do not build advertising profiles. Analytics never receives your email address, name, password, API keys, the replies you check or the text of your rules. Session recording is not used, and form fields are never read.
Emails. We send account and billing emails (verification, password reset, welcome, usage warnings, plan changes, payment problems, deletion confirmation) because they are part of the service. We do not send marketing, promotional or newsletter email.
2. Your AI replies and check history
When you send a reply to be checked, we run it against your rules and return pass or block. We do not store the full reply. For each check we save: the result and score, the names of the rules involved, a fingerprint (a one-way hash) of the reply, its length, the first 60 characters as a preview, the rule set used, the time, and any tags you attached. The preview exists so you can recognise a check in your history; the fingerprint lets you tell identical replies apart without keeping them.
While a check runs, the reply is held in memory to evaluate it. The try-it-live box on the homepage runs in your browser and sends nothing to us.
3. We do not use your data to train AI models
We do not use your data, replies, rules or check history to train AI models, and we do not allow our providers to. We do not sell your data and we do not share it for advertising.
Knowledge checks that use our AI run on Ollama Cloud. Ollama states that prompt and response data is never logged or used for training (source: ollama.com/cloud). If you connect your own AI key, your AI provider’s terms apply to that data. For each check, Nexxtool AI keeps the result, the rules that failed, the rules used, a fingerprint and the first 60 characters of the reply, for the history period of your plan. We don’t keep the full reply.
Also stored, so you know exactly what we hold: for each check, the reply length, the time, the API key used and any tags you attach. For knowledge checks, the reason for a block names the fact it broke and the document it came from. The facts you add (typed, pasted, from a file or web page, from a fact pack or from Guided setup) are saved as separate short statements, encrypted at rest, with the document title and where it came from; we keep the statements, not the full document. If you add your own AI key, we store it encrypted and show only its last 4 characters. Safe AI address connections save your tick-box rules, your fallback message and which provider and model you chose.
4. Who receives data
Only the service providers listed on the subprocessors page, each for a stated purpose. We disclose data to authorities only when the law requires it. If our business is sold or merged, your data may transfer to the new owner under this policy; we would tell you first.
5. How long we keep data
| Data | How long |
|---|---|
| Check history | By plan: Free 7 days, Starter 30 days, Pro 90 days, Scale 365 days. A daily job deletes older records. Your dashboard shows your plan’s window. If you change plan, the window of your new plan applies from then on |
| Account, rule sets, API key records, usage counts | Until you delete your account. Deletion is immediate (see section 7) |
| Billing records at Stripe | Stripe keeps payment records as tax and accounting law requires ([OWNER: confirm the legal retention period for your jurisdiction]). We cancel your subscription first when you delete your account |
| Consent record | Kept after you delete your account, without any link to you, as evidence that consent was given |
| Error log, Stripe webhook log, admin audit trail | These small operational logs are not deleted on a fixed schedule today: we keep them while they are useful for security, debugging and billing disputes. They hold no reply text and no request bodies. When you delete your account the account ID is removed from error-log rows; audit rows keep the administrator action. [OWNER: decide a fixed retention period for these logs; the text here states how it works today] |
| Backups | We keep encrypted nightly database backups for 30 days. Data you deleted can remain in a backup until it expires, and is not restored into the live service except after a disaster |
| Provider logs (hosting, email) | As set by each provider ([OWNER: retention settings at Vercel, Railway and Resend]) |
6. Cookies and browser storage
Nexxtool AI uses no advertising cookies and no advertising or cross-site tracking. We do use one analytics tool, PostHog (US cloud), on our public pages, the sign-in and sign-up pages and the dashboard. It is never loaded on the owner admin pages or the connector pages. In your browser we use these items:
- A sign-in session (a key starting
sb-, set by our sign-in provider Supabase) so you stay signed in. Strictly necessary. wt_oauth_consent: holds a timestamp for a few seconds while a Google or GitHub sign-up completes, then is removed.wt_onboarding_dismissed_v1: remembers that you closed the getting-started box.- Analytics (PostHog): a first-party cookie and a matching local-storage entry, both named like
ph_phc_…_posthog, hold an anonymous visitor ID, your session ID and the first referrer and campaign tags you arrived with. The cookie is set for our own site only (not across other sites). These are not strictly necessary for the service. nx_first_check_run:…(local storage): remembers that the first-check event was already sent for your account, so it is sent once.nx_signup_started(session storage): the same for the sign-up-started event, for the length of the tab.
How analytics is limited. Page addresses are sent without the part after # and without query parameters other than campaign tags (utm_*) and ref, so sign-in and reset links never reach analytics. We do not use session recording, automatic click or form capture, heatmaps or surveys. Anything you type into a form is never sent. Signed-in users are identified only by the opaque account ID.
Turning it off. If your browser sends Do Not Track or Global Privacy Control, the analytics script is not loaded at all and nothing is sent to PostHog. You can also block the PostHog domains (us.i.posthog.com and us-assets.i.posthog.com) in your browser or with a content blocker, or clear the site’s cookies and local storage to remove the anonymous ID. The service works the same without analytics. PostHog’s privacy policy is at posthog.com/privacy.
Heat maps (Microsoft Clarity). On our public pages only (not the sign-in pages, the dashboard, admin or connector pages), Microsoft Clarity shows us where visitors click and scroll. It sets its own cookies (_clck, _clsk) with an anonymous ID, masks text typed into forms, and is never loaded when your browser sends Do Not Track or Global Privacy Control. You can block clarity.ms in your browser or clear the site’s cookies. Microsoft’s privacy statement is at privacy.microsoft.com.
Our sign-in and dashboard pages load one script (the Supabase client library) from the jsDelivr content network, which therefore sees your IP address. Stripe’s checkout and billing pages are run by Stripe and may set their own cookies under Stripe’s policy. Our fonts are served from our own site.
7. Your rights
Whatever your location, you can access, correct, export and delete your data, object to or restrict processing, and withdraw consent. Under GDPR/UK GDPR you can also complain to your data protection authority; under California law you have the rights to know, delete and correct, and we do not sell or share personal data for advertising.
- Export: Settings, “Download my data” gives a JSON file with your profile, plan, usage, consent record, rule sets, API key details (never the secrets) and check history.
- Delete: Settings, “Delete my account” cancels your subscription, deletes your account and your data at once, and signs you out. Stripe payment records and the unlinked consent evidence remain as described above.
- Anything else (access, correction, objection): email support@nexxtool.ai from your account address. We answer within 30 days.
8. International transfers
Our providers process data in the United States and other countries (see the subprocessors page). Where data leaves the EEA, UK or Switzerland we rely on an approved transfer mechanism ([OWNER: confirm the mechanism, for example EU-US Data Privacy Framework certification of each provider and/or Standard Contractual Clauses]). Our Data Processing Addendum covers business customers.
9. Security
Connections use TLS. API keys are stored as hashes. Our database is access-controlled, backups are encrypted, requests are rate limited, and administrator actions are logged. No system is perfectly secure; if a breach affects your personal data we will tell you as the law requires.
10. 18+ and business use only
The service is for businesses and people aged 18 or over. It is not directed to children and we do not knowingly collect their data. If you believe a child has given us data, email support@nexxtool.ai and we will delete it.
11. Changes
When we change this policy we update the date and version above and, for material changes, email account holders before they take effect.
12. Contact
[OWNER: legal entity name and form, e.g. company name and state of registration]
Email support@nexxtool.ai