Privacy Policy
What we collect, why we collect it, who we share it with, and the rights you have over it. Written in plain English wherever possible.
The short version
- We collect what we need to sign you in, run your subscription, keep the service secure and, only if you choose, fix crashes and understand which features are used.
- You sign in with Google or GitHub. We receive your name, email address and profile picture from that account. Your sessions are issued by our own sign-in service; we do not keep your Google or GitHub tokens.
- Payments are handled by Stripe. We never see or store your card number. For trial-fraud checks we keep a one-way hash of your card’s fingerprint.
- The desktop app does not send your code, prompts or terminal output to us. Agent CLIs you install (Claude Code, OpenAI Codex and others) talk directly to their providers under their own terms. Some Wrenspace features send content to AI or speech providers you configure; §3.10 lists them.
- When the desktop app signs in it sends us the device name your operating system reports, which is often a hostname containing your name or your employer’s. You can rename it in the Account tab.
- Product telemetry is off by default and is sent only after you turn it on. Crash reports are sent only when you approve each one, unless you turn on automatic crash reports. Bug reports include the app log only if you tick the box.
- Cloud Sync is optional and off by default. It backs up your settings only, end-to-end encrypted with a passphrase we never see.
- You can download your data and delete your account yourself on the account site. §7 lists what we keep afterwards and for how long.
- On our website, Google Ads measures conversions from our ads. We never allow ad personalisation, we honour Global Privacy Control, and you can change your choice from Cookie settings in the footer.
This summary is for convenience only. The full text below governs.
1. Who we are
Wrenspace is operated by B. Dol Technical Consulting, LLC, a limited liability company organised in the Commonwealth of Virginia, United States, trading as “Wrenspace” (referred to in this policy as “we”, “us”, or “our”). Wrenspace was previously called “Agent Cohort” and “Wrenix”.
We are the controller of your personal information for the purposes of this policy. You can reach our privacy contact at privacy@wrenspace.ai.
2. Scope of this policy
This policy applies to:
- The Wrenspace website at
wrenspace.aiand its environment subdomains. - The Wrenspace account site at
account.wrenspace.ai(and its environment subdomains). - The Wrenspace desktop application for Windows, macOS, and Linux, including its built-in plugins and the backend services it calls on our
wrenspace.aidomains (for example our API endpoints and the report ingest endpoint named in §3.9). - Email and other communications you have with us.
It does not apply to third-party agent CLIs, AI providers, plugins, or services you install or connect through Wrenspace. Those are governed by the privacy policies of their providers (for example, Anthropic for Claude Code, OpenAI for Codex, or the publisher of a plugin you install). §3.10 describes the Wrenspace features that send data to providers you configure.
3. Information we collect
3.1 Account and sign-in
- Google sign-in. We ask Google for your basic profile and email address and receive your Google account ID, email address (which must be verified), name, and profile picture.
- GitHub sign-in. We ask GitHub for read access to your profile and email addresses and receive your GitHub account ID, username, name, profile picture, and your primary verified email address. We use your GitHub name, or your username if you have not set one, as your display name; we do not store your username separately.
- Your account record. We store your email address, name, profile picture link, which provider you signed in with and your ID there, and when you last accepted our Terms of Service and which version.
- Sessions. We do not store your Google or GitHub access tokens. After sign-in, our own sign-in service issues its own session: on the account site, a one-hour session cookie; in the desktop app, a one-hour access token and a 30-day refresh token, of which we store only a hash.
3.2 Team workspaces
If you create or join a Team workspace, we store the workspace name, its members and their roles, seat numbers, invitations (the invitee’s email address, role, and status), the workspace’s shared settings, and the history of its billing state (for example, when it entered a grace period). Every member of a workspace, not only its owner and admins, can see the name, email address, and profile picture of every other member and the email addresses of pending invitees. If a workspace uses a shared source from a private GitHub repository, we store the repository, the branch or tag, and any access token provided for it; the token is encrypted by our application before it is stored, is never shown back, and is used only by our server to fetch that repository for the workspace’s members.
3.3 Billing
- At Stripe. Stripe collects your card details, billing address, and any tax ID you enter at checkout, and calculates tax. We do not receive or store your card number, security code, card brand, last four digits, billing address, or tax ID.
- What we store. Your Stripe customer and subscription IDs, plan, status (for example trialing, active, past due, canceled), period end date, whether it is set to cancel, and seat count. For Stripe’s notifications to us we keep only the event ID, type, and timestamps.
- Trial-fraud record. When you start a free trial we keep a one-way hash (SHA-256) of the card fingerprint Stripe gives us, and a record of the trial attempt: your account ID, your email address, the card-fingerprint hash, your Stripe customer ID, a salted hash of your IP address where we have one, and the outcome. We use it to stop the same person or card from taking repeated free trials (see §5.2).
- Records of what we told you and what you agreed to. We keep a record of each billing email we send you (your email address, subscription ID, and the amounts and dates it stated) and a record of the consent you give at checkout, including the version of the EU/UK withdrawal acknowledgement shown.
3.4 Support, enterprise, and waitlist forms
- Support reports (the website’s and the account site’s support forms): your contact email, category, subject, message, a random tracking ID your browser keeps for your reports, limited technical context (for example the page and app version), your browser’s user agent, a salted hash of your IP address, and, if you are signed in, your account ID. We email the report to our support inbox so we can reply to you.
- Enterprise enquiries: your company, name, email address, phone number, job title, team size, seat estimate, and use case, and, if you are signed in, your account ID, plus your user agent and a salted hash of your IP address. We email it to our sales inbox.
- Waitlist: see §10.2.
- These forms are protected by Cloudflare Turnstile (see §11). Our database never stores your raw IP address; where we keep one, it is a salted hash.
3.5 Information we receive automatically
- Devices and sessions. When you sign in we record a device ID (a random ID created by the desktop app, or by our server for a web browser), a device name (described below), sign-in times, and security events such as sign-ins, device changes, billing changes, and consents in an account audit log. We use them for security, abuse prevention, and to let you review and revoke devices.
- Device name. When the desktop app signs in it also sends us the name your operating system reports for that machine. That is normally the hostname set on the device by you or by your employer, so it may contain your name, your organisation’s name, or both (for example,
jane-smith-mbporacme-corp-laptop-14). We store it with your account, truncated to 80 characters, and show it in the Account tab so your devices are listed under names you recognise. You can rename a device from the Account tab at any time; the name you set replaces the reported one in your device record, and later sign-ins do not overwrite it. A web browser is named from its user agent (for example, “Chrome on Windows”). - Service operational data. When the desktop app or account site calls our backend, our hosting provider and our servers process the request, including your IP address. We log the request method, route, response code, latency, and a coarse error category to diagnose outages and protect the service. Rate limiting uses your IP address as a short-lived counter key that expires with its time window.
- Subscription and entitlement state. We store your plan, status, trial dates, and the entitlements that decide which features your plan unlocks.
3.6 What we deliberately do not collect
- We do not see the contents of your prompts, terminal output, source code, or files on your machine. Everything you type into Claude Code, OpenAI Codex, or any other agent CLI travels directly between that CLI and its provider. The exceptions are the diagnostics you choose to send us (§3.7 and §3.9) and the features in §3.10, which send data to providers you configure, not to us.
- We do not run session replays, behavioural-profile analytics, remarketing, or cross-site tracking on the website or the account site. The website uses Google Ads conversion measurement as described in §11.
- We do not sell your personal information, and we do not share it for cross-context behavioural advertising.
- We do not use your personal information or your content to train AI models.
3.7 Crash reports and bug reports
Crash reports. When the app crashes, it saves a crash report and asks you whether to send it. Nothing is sent until you approve it. If the app cannot ask at the time, it keeps the report on your device and asks once at the next launch; unsent reports are kept on your device for up to 14 days, and “Don’t Send” deletes them.
You can choose to send crash reports automatically, in the setup wizard or in Settings. This is off by default and stays off unless you turn it on. When it is on, a crash report is sent automatically to Wrenspace when the app crashes, so we can fix the bug. When it is off, we ask you before sending each report. We record when you turned automatic crash reports on and which version of this notice you saw, and each automatically sent report is marked as sent automatically. You can turn automatic crash reports off at any time in Settings. Reports created before you turned it on are never sent without asking you. This choice stays on the device where you made it and is not synced to your other devices.
A crash report contains the error message, the stack trace, the last lines of the app log (which can contain file paths), the app and operating system version, and memory use and uptime. It includes the device identifier only if usage telemetry is on. Before a report is sent, the app tries to remove known formats of API keys, access tokens, and bearer tokens, email addresses, and your home directory and username from file paths. This removal is best effort and can miss something, so treat a report as possibly containing personal data.
Bug reports. When you file a bug report from the app, we receive what you write. You choose whether to attach the app log; it is not attached by default and can contain file paths and terminal output. The report includes the device identifier only if usage telemetry is on.
Crash reports and bug reports are stored in private GitHub repositories (BenDol/Wrenspace-Crashes and BenDol/Wrenspace-Reports) that only our team can access. Private means access is restricted to our team and to GitHub as our hosting provider; it does not mean the contents are encrypted or kept forever in confidence. Whatever you include leaves your machine and is read by our staff during triage, so do not paste credentials, customer data, or sensitive paths into a report.
3.8 Cloud Sync
Cloud Sync is an optional feature, off by default, available on some paid plans. It backs up your Wrenspace configuration so that signing in on a new machine restores your environment. It stores settings only: your application preferences, your per-project dock settings, and your project profiles. It does not upload your source code, the files in your projects, your terminal output, or your agent conversations. Your telemetry and crash-report choices are not synced.
What it stores is end-to-end encrypted on your own device with a key derived from a sync passphrase that we never receive and cannot recover. Our server holds ciphertext plus metadata: the scope type, a scope key, a revision number, a byte size, which of your devices wrote it last, timestamps, and a log of sync events kept for 90 days. The project name attached to each entry is itself encrypted. The scope key for a project is a shortened, unsalted hash of the project’s folder path, so someone who already knew the exact path could check whether it matches; it does not reveal the path otherwise. Before encryption, the app tries to remove settings whose names mark them as credentials (such as API keys, tokens, and passwords) and some sensitive sections as a whole; this is based on the names of settings, so a secret stored under an unexpected name, or inside a list, can be included. Settings you write yourself as free text (for example, project notes or a custom agent command) are part of your configuration and are backed up with it, encrypted. If you lose your passphrase we cannot restore your backup.
You can turn Cloud Sync off at any time in the desktop app; your local settings always remain authoritative. Turning it off stops further uploads but keeps the existing backup. You can delete your synced data at any time, on any plan, without deleting your account: on the account site, open Devices & sync and choose Delete synced data. This erases every synced document and your encryption key record from our servers. Deleting your account does the same.
3.9 Product telemetry
The desktop app can send us product telemetry. It is off by default and is sent only after you turn it on in the app. Installing the app does not turn it on. You can turn it off at any time in Settings. The choice stays on each device and is not synced.
When it is on, a telemetry record describes how the app ran, not what you did in it. It contains a random ID created on your device when you turn telemetry on (not derived from your hardware or operating system), a session ID, the app version, build, and release channel, your operating system platform, architecture, and version, session length, crash counts and the category of each, on/off flags and counters for which features were used, which built-in plugins are enabled and how often each was opened, update events, how many terminals and windows were open, bounded numeric summaries of agent use, interface use, reliability, and performance, and whether automatic crash reports are on (true or false). It never includes file contents, terminal output, prompts, file paths, or your name or email address, and it names only built-in plugins, never third-party plugins or plugins you wrote. This is pseudonymous data: the IDs are random and are not your name or your account, but they are stable enough to group one installation’s records together.
The telemetry record carries no device name and no IP address. Signing in is a separate request to a separate endpoint and does send us your device name (see §3.5). Like any server, our report ingest endpoint sees the IP address a request comes from; for reports that carry no device ID it uses that address briefly, in memory, to limit how many reports one sender can make, and does not store it.
We use telemetry to understand which features are actually used, to spot reliability, crash, and performance problems across releases, and to decide what to build and fix next. Uploads go to ingest.wrenspace.ai and are stored in a private GitHub repository (BenDol/Wrenspace-Telemetry) that only our team can access.
3.10 Features that send data to providers you configure
Some Wrenspace features send content from your device to an AI, speech, or other provider that you choose and sign in to. The data goes from your device to that provider, not to us, under the provider’s own terms and privacy policy.
- Thread names. On by default. If you have set up an assistant model, the app sends the first message of a new chat thread (up to 2,000 characters) to that model’s provider to suggest a title. You can turn this off in Settings.
- Quality Assurance plugin. Enabled by default. When you resolve a worktree, it asks an agent CLI (Claude Code, unless you choose another) to review the changes, which sends the changed code to that CLI’s provider.
- Voice dictation. Transcribes on your device by default. If you choose a cloud transcriber (such as OpenAI) or your own transcription endpoint, your audio is sent there.
- Narrator. Off by default. Cloud voices (OpenAI, ElevenLabs, or Microsoft Azure) receive the text to be read aloud; local voices stay on your device.
- Minutes. Off by default. Records your microphone and system audio and transcribes it. If you connect Google Calendar, it reads your calendar events; if you turn on AI evaluation, the transcript is sent to the model you choose.
- Slack. Off by default. Connecting Slack passes through our sign-in service, which hands the Slack token to your app and does not store it.
- Downloads. Some features download runtimes and models (for example from GitHub, the Python Package Index, PyTorch, and Hugging Face) when you turn them on; those hosts see your IP address.
- Mobile companion. Off by default. When you turn it on, the app accepts connections on your local network and announces itself there under your computer’s name. A phone you pair can list your projects, start terminals, send prompts, and see terminal output. The connection is direct between your devices and does not pass through our servers.
4. How we use information
We use the information we collect to:
- Provide and maintain the service: sign-in, devices, subscriptions, entitlements, Team workspaces, and, where you have turned it on, Cloud Sync.
- Process payments, calculate tax, and send the emails your subscription needs (see §10.1).
- Keep the service and your account secure, and detect, investigate, and prevent abuse, fraud (including repeated free trials), and security incidents.
- Answer support requests and enquiries.
- Fix crashes you report, and, where you have turned on telemetry, understand which features are used and find reliability and performance problems.
- Send waitlist emails you signed up for (see §10.2) and measure our ads on the website (see §11).
- Keep records of what you agreed to, comply with our legal obligations, and enforce our Terms of Service.
5. Legal bases and automated decisions
5.1 Legal bases (EEA, UK, and Switzerland)
If you are located in the European Economic Area, the United Kingdom, or Switzerland, we rely on the following legal bases under the GDPR, the UK GDPR, and the Swiss FADP. Where we rely on consent, you can withdraw it at any time; where we rely on legitimate interests, you can object (see §9).
| Purpose | Legal basis |
|---|---|
| Your account, sign-in, sessions, subscription, entitlements, Team workspaces, Cloud Sync, and support for your account | Contract |
| Payments, tax calculation, invoices, and billing records | Contract; legal obligation (tax and accounting) |
| Subscription emails: acknowledgements, trial and renewal reminders, cancellation, payment problems, and price-change notices | Contract; legal obligation (automatic-renewal and consumer laws) |
| Security: device list and device names, audit log, rate limiting, Turnstile checks | Legitimate interests (keeping accounts and the service secure) |
| Trial-fraud check (card-fingerprint hash and trial-attempt record) | Legitimate interests (preventing repeated free trials) |
| Records of the Terms version you accepted and of your checkout consent | Legal obligation; legitimate interests (showing what you agreed to) |
| Answering support reports and enterprise enquiries | Legitimate interests (answering you); steps before a contract, for enterprise enquiries |
| Crash reports and bug reports you choose to send, and automatic crash reports | Consent |
| Product telemetry | Consent |
| Waitlist emails | Consent |
| Google Ads conversion measurement and Google Fonts on the website | Consent (the Accept button; neither loads before it, see §11.3) |
| Complying with law, handling disputes, and enforcing our Terms | Legal obligation; legitimate interests |
For the device name we rely on legitimate interests rather than consent because the device list is part of how accounts are kept secure, and the value stays under your control: it is whatever name your operating system reports, and you can replace it from the Account tab.
5.2 Automated decisions
We make one automated decision about you. When you start a free trial, we compare your email address and the hash of your card’s fingerprint with earlier trials. If they match an earlier trial, the new trial is refused; if a card already used for another account’s trial is added to a new trial, that trial is cancelled. This decides only whether you can have another free trial. It does not stop you from subscribing, and it has no legal or similarly significant effect on you. If you think it got it wrong, email privacy@wrenspace.ai and a person will review it. We do not use your information for profiling that has legal or similarly significant effects.
6. Service providers and sharing
We share personal information only as described below. We do not sell personal information and do not share it for cross-context behavioural advertising.
Service providers. These companies process personal information on our behalf under their data processing terms, or provide a service you use through us, such as sign-in:
- Stripe, Inc. (United States): checkout, payments, subscriptions, invoices, and tax calculation. Stripe also sends payment receipts, refund receipts, invoices, and failed-payment emails to your billing email address directly (see §10.1).
- Neon (managed Postgres, hosted in the United States): our main database, which holds the account, device, subscription, workspace, form, and audit records described in §3.
- Cloudflare, Inc. (United States, with a global network): hosting of our sign-in, API, and sync services and of our websites (Workers, Workers KV, Durable Objects, and Pages), DNS, edge security, Turnstile bot checks, and Web Analytics.
- Resend (United States): delivery of the emails we send ourselves (the payment emails Stripe sends go through Stripe).
- GitHub, Inc. (United States): the private repositories where crash reports, bug reports, and telemetry are stored, and the public release page from which the app and its updates are downloaded. GitHub is also a sign-in provider if you choose it.
- Google LLC (United States): sign-in if you choose it; Google Ads conversion measurement and Google Fonts on the website, as described in §11.
- Supabase (for our blog content provider): blog articles are supplied by our content provider, and some article images load from its Supabase storage, which sees your IP address when your browser loads them.
- Other members of your Team workspace. See §3.2 for what every member can see.
- Providers you connect. Features in §3.10 send data to providers you choose; that is sharing you direct, under their terms.
- Legal and safety. We may disclose information if required by law (subpoena, court order, valid legal process), to protect the safety of any person, or to investigate suspected violations of our Terms.
- Successors. If we are acquired, merged, or our assets transferred, your information may transfer with the business. We will notify you before your information becomes subject to a different privacy policy.
7. How long we keep information
We keep personal information only as long as we need it for the purposes in this policy, unless the law requires us to keep it longer.
| Information | How long we keep it |
|---|---|
| Account record (email, name, picture, sign-in provider ID, Terms acceptance) | While your account exists. Deleted when you delete your account. |
| Sessions | Web session and access token: 1 hour. Refresh token: 30 days, deleted when it expires or shortly after it is revoked. |
| Sign-in handshake records (sign-in state, one-time codes) | Minutes; deleted when they expire. |
| Device records, including device names | While the device is registered. A revoked device is deleted 90 days after you revoke it. All device records are deleted when you delete your account. |
| Device sign-out markers (account ID and device ID only) | 90 days, including after you delete your account, so a removed device cannot sign back in with an old session. |
| Security and billing event log (sign-ins, device and billing events, consents), keyed by your account ID | 90 days, including after you delete your account (security, abuse prevention, and handling disputes). |
| Subscription records and licences we hold (Stripe IDs, plan, status) | While your account exists. Deleted when you delete your account, and we also delete your customer record at Stripe. Stripe keeps invoices, charges, and refunds as tax and accounting law requires. |
| Records of disputes, fraud warnings, and refunds on your payments (account ID, Stripe IDs, amounts) | 7 years, including after you delete your account, for tax purposes and to handle chargebacks and other claims about those payments. |
| Trial-fraud record (email address, card-fingerprint hash, Stripe customer ID, salted IP hash, outcome) | 365 days, including after you delete your account, to prevent repeated free trials. |
| Records of billing emails we sent you (email address, subscription ID, amounts and dates stated) | 3 years, including after you delete your account, so we can show what we told you. |
| Stripe notification records (event ID and type) | 4 days. |
| Support reports | 365 days, or until you delete your account. |
| Enterprise enquiries, waitlist entries, email preferences (including an unsubscribe record), waitlist send records, and beta invitations | Until you ask us to delete them or you delete a Wrenspace account with the same email address. Unsubscribing stops our emails; we keep the record that you unsubscribed so we do not email you again. |
| Team workspace invitations | Pending invitations expire after 14 days. Accepted, expired, and revoked invitations are deleted after 90 days. Invitations addressed to you are deleted when you delete your account. |
| Invitations you sent into Team workspaces other people own (your account ID as the sender) | Kept after you delete your account, as the workspace owner’s record of who was invited, until 90 days after each invitation expires, is revoked, or is accepted. |
| Team workspace that stops being paid for | 14-day grace period, 14 days suspended, then deleted but restorable for 60 days, then permanently deleted with its memberships. A history of its billing state is kept for 730 days. |
| Your Team memberships | Removed when you leave, are removed, or delete your account. |
| Cloud Sync backups | Until you delete them (Devices & sync on the account site) or delete your account. The sync event log (no synced content) is kept for 90 days, including after you delete your account. |
| Crash reports, bug reports, and telemetry | In our private GitHub repositories until we remove them; we remove your reports or your installation’s telemetry on reasonable request. Unsent crash reports stay on your device for up to 14 days. |
| Rate-limit counters (which use your IP address) | Until their time window ends, typically a minute to an hour. |
8. International data transfers
We are based in the United States, and our service providers (listed in §6) process data in the United States and, for Cloudflare’s network, in other countries. When you use Wrenspace from outside the United States, your information is processed in the United States.
Where our service providers process personal data from the EEA, the United Kingdom, or Switzerland, we rely on their certification under the EU-U.S. Data Privacy Framework (and its UK Extension and the Swiss-U.S. framework) where they are certified, and otherwise on the European Commission’s Standard Contractual Clauses and the UK International Data Transfer Addendum included in their data processing terms. You can ask us for more information at privacy@wrenspace.ai.
9. Your rights and choices
You have rights over your personal information. The exact rights vary by jurisdiction. You can use the self-service tools below, or email privacy@wrenspace.ai. We may need to verify your identity before acting on a request. We will respond within the time the applicable law requires (typically 30 to 45 days).
9.1 Download or delete your data yourself
- Download. On the account site, under Data & privacy, you can download a copy of your data as a JSON file. It covers every category in §3 that we hold about your account. Your Cloud Sync data appears as a list of entries with their sizes and dates, because the contents are end-to-end encrypted and we cannot read them. It includes the newest 500 entries of your security and billing event log (which keeps 90 days) and a list of what would be kept if you deleted your account.
- Delete. Under Data & privacy you can delete your account. It cannot be undone. Your subscription ends immediately and the unused part of the billing period is not refunded (see §17.1 of the Terms), and you are signed out everywhere. If you own a Team workspace that others use, you must transfer its ownership or delete it first. Deletion normally completes at once; if one of our providers is unavailable, it is retried automatically each day until it is complete.
- What deletion removes. Your profile and sign-in details; your devices and sessions; your subscription records and licences; your customer record at Stripe; all your Cloud Sync data (every synced document and your encryption key record); your Team memberships and the invitations addressed to you, and Team workspaces you own that are already suspended or deleted; your support reports; your waitlist entry; your email preferences, including any unsubscribe record; our records of waitlist emails sent to you; beta invitations; and enterprise enquiries you sent.
- What deletion keeps. Only the records marked in §7 as kept after deletion: the security and billing event log (90 days), the trial-fraud record (365 days), records of disputes, fraud warnings, and refunds (7 years), the payment records Stripe keeps, the Cloud Sync event log (90 days), device sign-out markers (90 days), records of billing emails we sent you (3 years), and your account ID as the sender of invitations you sent into Team workspaces other people own (until 90 days after each invitation expires, is revoked, or is accepted).
- Devices and Cloud Sync. You can rename or revoke a device in the desktop app’s Account tab or on the account site, and delete your synced data under Devices & sync.
9.2 Everyone
- Access: request a copy of the personal information we hold about you.
- Correction: ask us to fix information that is inaccurate or out of date.
- Deletion: delete your account yourself (§9.1), or ask us to delete it or a narrower item such as a Cloud Sync backup or a crash report.
- Export: download your data yourself (§9.1), or ask us for it.
- Email: unsubscribe from waitlist email with the link in each message (see §10.3).
- Diagnostics: turn telemetry and automatic crash reports on or off in the app’s Settings.
9.3 Residents of US states with privacy laws (including California and Virginia)
Depending on where you live, you may have the right to know what categories of personal information we collect and the sources, purposes, and recipients of that information, to access, correct, delete, and obtain a portable copy of it, and to opt out of the sale or sharing of personal information, targeted advertising, and certain profiling. We do not sell personal information, we do not share it for cross-context behavioural advertising or use it for targeted advertising, and we do not use it for profiling that produces legal or similarly significant effects. The website honours the Global Privacy Control signal (see §11). You may use an authorised agent to make a request. We will not discriminate against you for exercising these rights. If we deny your request, you can appeal by replying to our response; if we deny the appeal, you can contact your state attorney general.
9.4 Residents of the EEA, United Kingdom, or Switzerland
You have the rights of access, rectification, erasure, restriction of processing, data portability, and to object to processing based on legitimate interests. You can withdraw consent at any time where we rely on consent. You may also lodge a complaint with your local data protection authority.
10. Email communications and the waitlist
This section describes every kind of email you get from us and how to stop the ones you can stop. We send our own emails through Resend; Stripe sends the payment emails described in §10.1 directly.
10.1 What we send
- Subscription and account email. An acknowledgement when a subscription or trial starts, with its price, renewal terms, and how to cancel, which for EU and UK customers also restates the withdrawal acknowledgement given at checkout; a reminder before a trial ends and before each yearly renewal; confirmations when you cancel and when a subscription ends; at least 30 days’ notice of a price change; notice when a $0 plan you claimed ends; and Team workspace email (invitations, ownership transfers, and grace-period, suspension, and deletion notices). These are sent regardless of your marketing choices, because the service and the law require them.
- Payment emails from Stripe. Stripe, our payment processor, sends payment receipts, refund receipts, invoices, and an email when a card payment fails directly to your billing email address. These are part of your subscription too and are sent regardless of your marketing choices.
- Material policy or security updates. Advance notice of changes to this Privacy Policy or the Terms of Service that materially affect you.
- Replies to support reports and enquiries you send us.
- Plan offers. If we run it, a one-time offer when a trial converts to a paid plan (for example, a first month of Pro free). The offer email has an unsubscribe link, and you can also ask us not to send these by emailing privacy@wrenspace.ai.
- Waitlist email, only if you joined the waitlist; see §10.2.
We do not send newsletters, and there is no email-preferences page in the account site.
10.2 The waitlist
When you join the waitlist on wrenspace.ai (or from the app), we store your email address, where you signed up (the website, the app, or a direct link), the page that referred you and any campaign tags in the link (UTM source, medium, and campaign), your browser’s user agent, a salted hash of your IP address, whether the Turnstile check passed, the moment you gave consent, and, if you were signed in, your account ID. You cannot submit the form without ticking “I agree to receive email communications from Wrenspace”, and our server rejects any sign-up without that consent.
We then send you:
- a confirmation email straight away;
- an email when Wrenspace launches; and
- occasional announcements about major changes to Wrenspace, such as a change of name.
While we run it, joining the waitlist also qualifies you for a launch discount on your first payment; the offer’s terms are shown on the website. We do not sell, rent, or share the waitlist, and we do not copy waitlist addresses into test systems.
10.3 Unsubscribing
- Unsubscribe link. Every waitlist email, including the confirmation, has an unsubscribe link, and supports one-click unsubscribe in email apps that offer it. The link does not expire. Plan offer emails have an unsubscribe link too.
- Email us. Send a note to privacy@wrenspace.ai from the subscribed address and we will remove it.
Withdrawing consent does not affect earlier processing. We keep the record that you consented and that you unsubscribed so we can show both and do not email you again, until you ask us to delete it or delete your account.
10.4 Retention
Waitlist entries and email subscriptions are kept until you ask us to delete them or you delete a Wrenspace account with the same email address (see §7). You can ask us to delete your entry at any time by emailing privacy@wrenspace.ai.
11. Cookies and similar technologies
11.1 Account site and sign-in
The account site and our sign-in service use only cookies that are strictly necessary to sign you in and keep your account secure:
| Cookie | Purpose | Lasts |
|---|---|---|
__Host-cohort_session | Keeps you signed in (holds your session token; not readable by page scripts) | 1 hour |
cohort_csrf | Protects your requests against cross-site request forgery | 1 hour |
__Host-cohort_web_device | A random ID that identifies this browser in your device list | 1 year, renewed when you sign in |
__Host-cohort_oauth_state | Ties a Google or GitHub sign-in to the browser that started it | 10 minutes |
__Host-cohort_email_confirm | Ties an email sign-in link to the browser that opened it (email sign-in is not currently offered) | 10 minutes |
The account site also keeps a few items in your browser’s local storage: a random tracking ID sent with your support reports so we can connect them, and display flags such as whether you have seen a welcome screen. The account site does not load Google Ads.
11.2 Website
The website itself sets no cookies. Google Ads may set first-party _gcl_* cookies on our domain as described in §11.3; in the EEA, the United Kingdom, Switzerland, and for any browser that sends Global Privacy Control, only after you click Accept. The website keeps in your browser’s local storage your cookie choice (agent-cohort:cookie-consent, and a marker used with Global Privacy Control), a random tracking ID sent with support reports, and a few display preferences (for example, whether you dismissed the launch banner). Third parties load as follows:
- Google Ads conversion measurement (gtag.js). Loaded from
googletagmanager.com, with Google Consent Mode v2, only as described in §11.3: in the EEA, the United Kingdom, Switzerland, and for any browser that sends Global Privacy Control, not until you click Accept. While running it may contact other Google hosts (google-analytics.com,googleadservices.com,google.com,googleads.g.doubleclick.net,pagead2.googlesyndication.com). - Google Fonts. Loaded only after you click Accept. When loaded, your browser sends your IP address to Google.
- Cloudflare Turnstile. A bot check from
challenges.cloudflare.com. It loads when you open the support or enterprise page and when you open the waitlist form. Cloudflare receives your IP address and browser signals to tell people from bots. It is strictly necessary to protect the forms. - Cloudflare Web Analytics. Where enabled, counts page views without cookies or local storage.
- Blog images. Some article images load from our content provider’s storage at Supabase (see §6).
11.3 Your consent choices
- Defaults. In the EEA, the United Kingdom, Switzerland, Norway, Iceland and Liechtenstein, and for any browser that sends a Global Privacy Control signal, the Google Ads tag is not loaded at all until you click Accept, so nothing is sent to Google and no Google Ads cookies are written before then. We tell where you are from the country our hosting provider, Cloudflare, reports for your connection; if it cannot tell, or the page cannot check, we treat you as being in one of these regions. Elsewhere, Google Ads conversion measurement runs by default. It may set first-party
_gcl_*attribution cookies to count conversions from our ads.ad_user_dataandad_personalizationstay denied, so no user data is sent to Google for advertising and nothing is used for remarketing or ad personalisation. - Redaction. Where the tag is running and
ad_storageis denied, Google Ads runs withads_data_redactionon. It writes no cookies, and ad-click identifiers (gclid,dclid,gbraid,wbraid) are removed from the pings it sends to Google. We do not use URL passthrough, so these identifiers are never added to links between our pages. - Accept. Accept loads Google Fonts, loads the Google Ads tag if it is not already running, and allows Google Ads conversion measurement, including sending the data Google needs to attribute a conversion (
ad_storage,analytics_storageandad_user_datagranted). It never grantsad_personalization: we do not run remarketing, audiences or personalised ads, and the tag is configured to send no ad-personalisation signals. - Essential only. Essential only denies every non-essential scope, does not load Google Fonts, and expires any
_gcl_*cookies set earlier. In the regions above, and under Global Privacy Control, the Google Ads tag then stays unloaded on every page you visit next. Elsewhere the tag keeps running with every scope denied, sending only the cookieless, redacted pings described above. - Global Privacy Control. If your browser sends Global Privacy Control, we treat it as Essential only and do not load the Google Ads tag, and it overrides an earlier Accept. It is overridden only if you choose Accept again from Cookie settings while the signal is on.
- Changing your choice. Your choice is stored in your browser under
agent-cohort:cookie-consent. You can change it at any time from Cookie settings in the footer of every page.
We use Google Ads conversion data in aggregate only, to evaluate our ad campaigns.
12. Security
We use reasonable administrative, technical, and physical safeguards to protect your personal information, including encrypted transport (TLS) for all traffic, hashing of refresh tokens and IP addresses, application-level encryption of stored access tokens for shared workspace sources, scoped service credentials, automated dependency scanning, and review of access logs. Cloud Sync goes further: its contents are end-to-end encrypted on your device before upload, so we store ciphertext we have no key to decrypt (see §3.8). No system is perfectly secure. If you suspect your account has been compromised, contact us at security@wrenspace.ai immediately. To report a vulnerability, see our disclosure policy (also linked from our security.txt).
13. Age requirement
You must be at least 18 years old (or the age of legal majority where you live, if higher) to create a Wrenspace account, as our Terms of Service require. The service is not directed at anyone under 18, and we do not knowingly collect personal information from children. If you believe a child has given us personal information, contact us and we will delete it.
14. Changes to this policy
We may update this Privacy Policy from time to time. The “Last updated” date at the top shows the most recent change. For material changes that reduce your rights or change the purposes for which we process your information, we will give you advance notice through the account site or by email before the change takes effect.
15. Contact us
Questions, requests, or complaints about this Privacy Policy or our handling of your data:
- Email: privacy@wrenspace.ai
- Security disclosures: security@wrenspace.ai
- Postal: B. Dol Technical Consulting, LLC, Commonwealth of Virginia, United States. (Postal address available on request for verified inquiries.)
If you are an EEA, UK, or Swiss resident and we have not satisfactorily addressed your complaint, you have the right to contact your local supervisory authority.