TUNLstack — home← Back to home

Privacy Policy

Last updated: October 14, 2026

On this page

On this page

  1. Who we are
  2. What we collect and why
  3. Feedback you send us
  4. How long we keep it
  5. Who processes it
  6. Dictation (voice-to-text)
  7. Email & your choices (CASL)
  8. Analytics & app census
  9. Purchases
  10. Public posts that mention TUNLstack
  11. Your content stays on your device
  12. License validation
  13. The website & cookies
  14. Your rights
  15. Security
  16. Children
  17. International transfers
  18. Changes to this policy

Who we are

TUNLstack is made by aioLABS Limited, a corporation in Nova Scotia, Canada. For any privacy question or request, email privacy@tunlstack.com.

What we collect and why

We collect only what we need to run your trial, sell licenses, keep the trial honest, run the creator program, and run our waitlist:

  • Account identity — when you start a trial you sign in with GitHub or Google. We store your account id and email to anchor your trial to you (so a reinstall doesn't reset it) and to recover your license. A free account is required to start the trial; your signup email and OAuth identity are processed as described in this policy.
  • Trial & device signals — a one-way hashed form of your IP address and a device hash. Our trial records keep only that hash, never the address itself. These let us honour one trial per account and detect abuse.
  • Creator or community code — if you enter one (in the app, or at checkout), we record which code was used against your trial and purchase, so the creator who shared it can be credited if you go on to buy. That code is all we record: we do not build a graph of who introduced whom. The app does not measure or report how much you use it.
  • Creator program — if you apply to our creator (affiliate/partner) program, we collect what you enter in the application: your display name, country, phone number (required for partners), social links, audience size, niche, whether you use TUNLstack, and, for partners, an application note; your email address comes from your signed-in account. We use these to review your application, contact you, and run the program. When you accept the program terms, we record evidence of that acceptance: your account id, a timestamp, your IP address, your browser user-agent, the terms version you accepted, and the track and commission rate you were offered. Each acceptance adds a new record, and we never edit or delete these records: we keep them for as long as your creator account exists, including after the agreement ends, as proof of what was agreed. To pay your commission we record each sale credited to your code (its Paddle transaction reference, the amount paid, and your commission), and you give us a payout method, Wise or PayPal, and the payout email for it. When we pay you, we send that payout email and the amount (and, for Wise, your display name) to the payout service you chose.
  • Waitlist — if you join the waitlist for a new platform (such as Mac or Linux), we store your email address, the platform you picked, a short tag naming the link you came from, when you signed up, and whether you confirmed. We do not store your IP address or device details with it. Resend sends the confirmation email, and unsubscribing deletes your entry.

We use the trial and device signals above for one additional purpose: detecting and preventing trial abuse (the same account or machine farming repeated free trials). This is our legitimate interest in protecting a fair trial. These signals feed a human-reviewed audit queue — they never automatically block your use of the app. We also note when a license is activated on many more separate machines than it allows within a short period, and we file that to the same human-reviewed queue. Moving your license between your own machines as often as you need is fine: a flag only asks a person to look, and it never blocks you automatically.

Feedback you send us

If you choose to send feedback or a bug report from the app, we receive the message you write, your account email address (so we can reply), and the app details shown in the form before you send: app version, extension version, Windows build, performance tier, and edition. We use this only to respond and to fix problems. It is never sold or shared, and you can ask us to delete it any time at privacy@tunlstack.com.

How long we keep it

  • A code you type at checkout is credited to that purchase. A purchase made without a code is credited to the code your trial used only within 90 days of the start of that trial.
  • Each machine's hashed IP and device hash stay with your trial: the hashed IP is replaced by the newest one each time the app checks in, and both are deleted with your account.
  • The only raw IP address we store ourselves is the one in the creator-program acceptance record above. Supabase, our authentication provider, also records the IP addresses that sign-in requests come from: in the audit log and session records it keeps in our database, and in its own logs. When you sign in with GitHub or Google, your browser contacts Supabase directly, so Supabase sees your own IP address. Our website may also pass your IP address to Supabase with the sign-in requests it sends for you. We do not prune Supabase's audit log ourselves. PostHog and Cloudflare also receive your IP address, as described under "Analytics & app census" and "The website & cookies" below. Our website's rate limits count recent requests per IP address in memory only and never write those addresses to storage.
  • The website's request logs (see "The website & cookies") are kept for 7 days.
  • Waitlist entries stay until you unsubscribe or ask us to delete them. Survey answers and the public posts we collect have no automatic deletion: email us to have one removed.

Who processes it

We use a small number of processors strictly to operate the service: Supabase (database + authentication), Paddle (our Merchant of Record for payments and tax), Resend (sending license keys, waitlist confirmations and account email), Cloudflare (serving and securing the website, delivering the app's downloads, and keeping the website's request logs), PostHog (EU-hosted, cookieless website analytics), Groq (cloud speech-to-text for the optional dictation feature and the two voice commands that use it — see below), and, for creator program payouts only, Wise or PayPal (whichever payout method you choose). We don't sell your data or use it for advertising.

Dictation (voice-to-text)

TUNLstack's dictation feature is optional. When it is enabled in its default cloud mode, the audio you dictate is sent to Groq for speech-to-text, together with a short spelling hint made from TUNLstack's built-in word list and any custom vocabulary words you add in Settings, and the transcript is returned to your device. If a cloud request fails, the app falls back to its on-device engine for that recording so your words are not lost. The two voice-navigation commands that capture a spoken name or tag (to rename or tag a session) use the same path: while dictation is set up to use Groq, the spoken name or tag is sent to Groq too. Every other voice-navigation command is recognized on your device. You can also switch dictation to that fully offline, on-device engine. In on-device mode, no audio, transcript or vocabulary leaves your device. The on-device engine downloads its speech-recognition model (about 145 MB for the default model) from our servers the first time it is needed, for example when you choose it or when a failed cloud request falls back to it, as described under "The website & cookies" below. TUNLstack does not retain your dictation audio.

Email & your choices (CASL)

Emails about your account or a purchase (such as your license key) are transactional. Any other email from us, such as the waitlist confirmation, identifies aioLABS Limited and includes a one-click unsubscribe link that we honour. You can also email privacy@tunlstack.com at any time to access or delete your data or to opt out.

Analytics & app census

Our website uses cookieless, privacy-preserving analytics (PostHog, EU-hosted) to count page views and see where visitors come from: the address of the page that linked to us (its site and path, with its query string removed) and any campaign tags in the link (ad-click identifiers are masked and search keywords dropped before anything is sent, and the rest of a web address's query string is removed). Like any server your browser contacts, PostHog receives your IP address, and each page view carries what your browser reports about itself: your browser user-agent, operating system, device type (and, on some browsers, the device model), screen size, window size, language, and time zone, plus random identifiers created in your browser's memory that are gone when you close or reload the page. By default PostHog also uses your IP address to add an approximate location (such as country and city) to each page view; whether it does, and whether it keeps your IP address, are settings in our PostHog project. It sets no cookies, stores no identity, and does no cross-site tracking — we see aggregate numbers, never individual profiles.

When the desktop app checks for messages (about twice a day), the request includes the app version (for example TUNLstack/1.0.0). We count these to know how many installations run each version so we can support them well. No identifier of any kind accompanies that request.

Purchases

Purchases are handled by Paddle, our Merchant of Record. Paddle collects the payment and billing details needed to complete your order under its own privacy policy. From Paddle we receive only order metadata — such as your name, email, country, the product purchased, and a transaction reference — so we can issue and support your license. We never receive or store your full card details. We keep order and license records for as long as needed to support your license and to meet legal, tax, and accounting requirements.

After you buy, we may ask once how you heard about TUNLstack: one click from a short list, in the purchase confirmation and in your license email. We store only your answer with your order's Paddle transaction reference, which links it to your order, and we count the answer in our analytics with no identifier attached.

Public posts that mention TUNLstack

Once a day we automatically collect public posts and reviews that mention TUNLstack on Hacker News, Reddit, the VS Code Marketplace and Open VSX. For each one we keep the poster's public username, what they wrote, a link to it, its date, and any star rating, so we can read it and, where it helps, reply on that site ourselves. Nothing is posted or sent automatically. If one of these records is about you and you want it removed, email privacy@tunlstack.com.

Your content stays on your device

TUNLstack is local-first. The text the app reads aloud, your reading queue, your settings, and your usage history are processed and stored on your own machine. Text-to-speech and the local speech-to-text engine run on your device, so the content being read never leaves it. We do not read, collect, or transmit the content of your work sessions.

If you turn on the optional on-device language model (used, for example, for chat summaries), it reads your chats on your device, for example to write short notes about them. This feature does not send your chats or those notes anywhere; the notes are saved on your device.

License validation

To confirm your entitlement and prevent abuse, the app periodically contacts our licensing service (about every 30 minutes while the app is running) and transmits your license key, a minimal machine-binding identifier, and a device name label (your Windows computer name, as shown in the device list on your account page). This is used solely to validate your license — it does not carry the content of your work.

The website & cookies

The website is served by Cloudflare, which processes standard technical logs (such as IP address and browser user-agent) to deliver and secure the site.

The website runs on Cloudflare Workers, and we keep its request logs in our Cloudflare account for 7 days to find and fix problems. Each entry describes one request: the web address requested, the response, timing, and the details Cloudflare attaches to every request, including an approximate location (such as your country) worked out from your IP address; an entry may also include your IP address itself. Messages our own code writes to these logs can include your account id, other identifiers from our records and Paddle's (such as a license, trial or order id, or the start of a device hash), purchase, refund or commission amounts and the creator or community code used, and, when reading or saving a record fails, the database's error code and message, which can repeat a value it rejected.

The site's own cookies are the strictly-necessary ones that keep you signed in, remember a completed region check, and serve and secure the site, plus one more, tunl_ref, which is set only if you type a creator or community code at checkout. tunl_ref holds that code for 30 days so it stays applied if you reload the page, and so that, if you then sign in to the desktop app from the same browser, the code is recorded against your trial and the creator can be credited (see "Creator or community code" above). Our analytics are cookieless (see above). If you email us, we keep the correspondence so we can respond and maintain support history; you can ask us to delete it at any time.

Cloudflare also delivers the files the app itself downloads from our servers: the speech models it fetches on first run, the speech-recognition models it fetches the first time they are needed, the optional language model and the program that runs it (only if you turn that feature on), and the update checks it makes while it runs. Each of these is an ordinary web request, so Cloudflare sees your IP address and the same standard technical details described above. None of them needs an account, and none carries your license key, your account, or a device identifier.

Your rights

Subject to applicable law, you can ask us to access, correct, or delete the personal information we hold about you, and ask what we hold — email privacy@tunlstack.com and we will respond within a reasonable time. We handle personal information in line with Canada's Personal Information Protection and Electronic Documents Act (PIPEDA). Where the EU or UK GDPR applies, we process personal information on the bases of contract (operating your account, trial, and license), legitimate interests (security and fraud prevention), and consent where we ask for it. We do not "sell" or "share" your personal information as those terms are defined under US state privacy laws such as the CCPA/CPRA. If you are unsatisfied with our response, you may contact the Office of the Privacy Commissioner of Canada or your local supervisory authority.

Security

We use reasonable technical and organizational safeguards appropriate to the small amount of personal information we handle. No method of transmission or storage is 100% secure.

Children

The website and the app are not directed to children under 13, and we do not knowingly collect personal information from them.

International transfers

We are based in Canada. Our processors — such as Supabase, Paddle, Resend, Groq, Cloudflare, PostHog (hosted in the EU), and, for creator payouts, Wise and PayPal — may process information in other countries under their own safeguards and agreements.

Changes to this policy

We may update this policy from time to time. Material changes will be posted on this page with an updated date.

TermsEULAPrivacyRefundsAttributionSource code

Founders Edition: one-time purchase

Claude, Claude Code, and the Claude spark logo are trademarks of Anthropic, PBC. OpenAI, ChatGPT, and Codex are trademarks of OpenAI OpCo, LLC. Visual Studio Code is a trademark of Microsoft Corporation. All third-party names, logos, and brands are the property of their respective owners and are used for identification purposes only. TUNLstack is an independent product of aioLABS Limited and is not affiliated with, sponsored by, or endorsed by Anthropic or OpenAI.

© 2026 aioLABS Limited · Halifax, Nova Scotia, Canada

support@tunlstack.com