CallsPricingDocsTry it liveDashboard

Legal

  • Overview
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • Data Processing Addendum
  • Subprocessors
  • poolse SDK License
  • Acceptable Use Policy
  • Refund & Cancellation Policy
  • Authorities, Notices & Security Research

Contact

  • [email protected]
  • [email protected]

Torsten Labs DOO · poolse

Privacy Policy

What personal data we handle, why, on what legal basis, who receives it, and the rights you can exercise.

Version
2.0
In effect from
28 October 2026
Last updated
28 October 2026

This policy explains what personal data we handle when you visit poolse.dev, open the public chat demo, use the customer dashboard, buy a paid plan, or contact us — and what you can do about it.

It is written to satisfy the EU General Data Protection Regulation (GDPR), the UK GDPR, the Swiss Federal Act on Data Protection (revFADP), the Law on Personal Data Protection of the Republic of North Macedonia (LPDP), and the US state privacy laws listed in § 13. Where those rules differ, we apply the stricter one rather than splitting our behaviour by geography.

Who you are dealing with

Legal name
Torsten Labs DOO
Legal form
Друштво со ограничена одговорност (DOO) — a private limited liability company
Registered seat
Ilindenska 335, 1200 Tetovo, North Macedonia
Registry
Central Registry of the Republic of North Macedonia
Company number
7609906
Tax number
4028022548170
VAT number
4028022548170
Company contact
[email protected]
Telephone
+389 70 528 685
General enquiries
[email protected]
Product support
[email protected]
Billing
[email protected]
Privacy contact
[email protected]
Legal notices
[email protected]
Security reports
[email protected]

poolse is a product of Torsten Labs. “poolse”, “we”, “us”, and “our” in this document all mean Torsten Labs DOO.

1. The two roles we play

poolse is infrastructure other companies build on. That means we handle personal data in two very different capacities, and almost every question about your data has a different answer depending on which one applies.

We are the controller for data about our own relationship with you: your dashboard account, your billing record, the emails you send us, and the browsing you do on poolse.dev. We decide why and how that data is processed, and this policy governs it end to end.

We are a processor for the chat data that flows through a customer's tenant — the messages, attachments, display names, and end-user identifiers that a customer's application sends us. Our customer decides what to collect and why; we only act on their instructions, under the Data Processing Addendum. If you are an end user of an app built on poolse, we are not the right place to start: contact the company whose app you are using, because they hold the relationship and the decisions. We will help them respond, and we will forward a request that reaches us by mistake.

If you reached this page from someone else's app

We almost certainly cannot identify you, delete your account, or tell you what is stored: we do not know which of our customers' apps you use, or which user in that app you are. Ask the operator of the app you were using. They can reach us at [email protected] and we will act on their instruction.

2. What we collect, and where it comes from

2.1 Data you give us

WhatWhere it comes fromNotes
Account data — email address, name, password hash, profile imageDashboard sign-upThe password is stored only as a bcrypt hash. We never hold the plaintext.
Federated sign-in data — email, name, avatar URL, provider account idGoogle or GitHub, if you choose that buttonWe receive these from the provider. We do not post anything back or read anything else from your account.
Organisation and tenant data — workspace name, plan, API key names and prefixesDashboard useOnly the prefix of an API key is stored; the secret half is hashed and unrecoverable.
Billing data — billing name, address, country, tax identifiers, purchase, payment and refund historyYou, when you apply for a paid plan and pay our invoice (or, once self-serve checkout opens, through the Lemon Squeezy checkout)Card numbers never reach us. See § 5.
Support and enquiry data — your name, email, and whatever you write in the contact or Pro application formThe forms on poolse.dev, or a direct email
Webhook endpoints, integration settingsDashboard useEndpoint URLs can themselves be personal data if they contain identifiers.

2.2 Data we generate or observe

WhatPurpose it serves
Server and access logs — IP address, timestamp, request path, method, status code, user agent, referrerServing the request, security monitoring, abuse and rate-limit enforcement, debugging
Authentication and account events — sign-ins, failed sign-ins, password changes, email verification, sessionsAccount security and fraud prevention
Audit log entries — actor, action, target, timestamp for actions inside a tenantGiving customers the compliance trail the product promises
Usage counters — monthly active users, call minutes, message volume, storage consumed, webhook deliveriesEnforcing plan limits and billing correctly
Cookie and local-storage identifiersSee the Cookie Policy

2.3 Data our customers send us (we are the processor)

Message bodies, attachments, reactions, read state, presence, typing signals, display names, avatar URLs, and the external_id a customer assigns to each of its end users. For calls: who called whom, when, for how long and with what outcome, and the audio and video itself, which passes through our media servers and is not recorded. For push notifications: device push tokens, and the notification content, which can include a message preview and is delivered through Apple and Google. Our media and relay servers also see the IP addresses of the devices on a call. What ends up in that set is the customer's decision, not ours. We tell customers not to route special categories of data (health, biometrics, political or religious views) or payment card data through chat unless they have carried out their own assessment and have a lawful basis for it.

2.4 What we deliberately do not collect

  • No advertising identifiers, ad-network pixels, or cross-site tracking.
  • No analytics product, session recorder, heat mapper, or A/B testing tool. There is nothing in the analytics category to consent to today, and if that changes we will name the provider in the Cookie Policy and ask first.
  • No purchased marketing lists, data-broker enrichment, or scraped contact data.
  • No biometric data, no precise geolocation, and no profiling that produces legal or similarly significant effects.
  • No browsing of customer content. Message bodies are encrypted at rest under a per-tenant key, and our internal operator console has no code path that decrypts them; it sees counts and timestamps, never text. This is not end-to-end encryption: our servers hold the keys, so someone with production server access could technically read data. We look at customer content only where a customer asks us to, to handle an abuse report about specific content, or where the law requires it.

3. Why we process it, and on what legal basis

Under the GDPR and the LPDP, every purpose needs a legal basis. Ours:

PurposeCategories usedLegal basis
Creating and running your account; providing the API, SDKs, dashboard, and demoAccount, tenant, usageContract — GDPR Art. 6(1)(b). Without it we cannot give you the service you asked for.
Taking payment, issuing invoices, handling refunds and chargebacksBillingContract, and legal obligation — Art. 6(1)(b) and (c) — for tax and accounting records.
Sending service email: verification, password reset, security alerts, material changes to these termsAccountContract, and legal obligation where a notice is required. Not marketing; you cannot unsubscribe from a security alert while you hold an account.
Answering your support message or Pro applicationSupportContract, or legitimate interests — Art. 6(1)(f) — where you are not yet a customer. Our interest is in replying to people who write to us; the impact on you is minimal and it is what you asked for.
Keeping the service secure: abuse detection, rate limiting, fraud prevention, investigating incidentsLogs, auth events, usageLegitimate interests — Art. 6(1)(f). Our interest is in protecting the service and its users. We use the minimum data, keep it briefly, and never use it to build a profile of you.
Understanding and fixing failures; capacity planningLogs, usageLegitimate interests — Art. 6(1)(f), on aggregated data wherever aggregation answers the question.
Non-essential cookies and browser storageSee the Cookie PolicyConsent — Art. 6(1)(a) and Art. 5(3) of the ePrivacy Directive. Withdrawable at any time from the footer, with no effect on what happened before you withdrew.
Product announcements and other marketing emailAccount contactConsent where required, or legitimate interests in a business-to-business context under Art. 6(1)(f) and the soft opt-in in Art. 13(2) of the ePrivacy Directive. Every such email has a working one-click unsubscribe.
Processing chat content for a customerCustomer contentNot our decision — we act on the customer's documented instructions under Art. 28. The customer holds the legal basis.
Establishing, exercising, or defending legal claims; complying with a binding orderAny of the above, narrowlyLegal obligation or legitimate interests — Art. 6(1)(c) and (f).

We do not use personal data for automated decision-making that produces legal or similarly significant effects, and we do not profile you within the meaning of Art. 22 GDPR. Automated rate limits and abuse thresholds do exist, but a human reviews any decision that would suspend or terminate an account.

4. Who receives it

We do not sell personal data, and we do not share it for cross-context behavioural advertising. Access inside the company is limited to the people who need it for the task in front of them. The operator console has no code path that decrypts message bodies.

Outside the company, data reaches only:

SubprocessorWhat it does for usData it can reachProcessing locationTransfer mechanismIn use since
Cloudflare, Inc.Customer contentAttachment object storage (R2), DNS, TLS termination, CDN, and denial-of-service protection for poolse endpoints.Files and images your end users attach to messages; IP addresses and request metadata seen at the edge.European Union (R2 EU jurisdiction restriction); global edge network for request routingEU Standard Contractual Clauses + UK Addendum, incorporated by the Cloudflare Data Processing Addendum2026-08-19
Oracle (Oracle Cloud Infrastructure)Customer contentVirtual server and block storage running the poolse application, database, background workers, and the call media server.All data stored by the service. Message bodies, webhook secrets and push credentials are encrypted at rest under a per-tenant key held by poolse. Oracle provides the infrastructure only and does not access customer data in normal operation.Germany — Oracle Cloud region eu-frankfurt-1 (Frankfurt am Main, EU)Data stays in the EU region; EU Standard Contractual Clauses in the Oracle Services Data Processing Agreement for any support access from outside the EEA2026-10-26
Apple Inc. (APNs) and Google LLC (Firebase Cloud Messaging)Customer contentDelivery of the push notifications your app receives from poolse: incoming-call rings, chat notifications, missed calls and read sync. Sent with the APNs key and Firebase service account you upload, under your own developer accounts.Device push tokens and the notification payload, which can include the sender name, conversation name and a message preview, depending on your notification settings.United States and global infrastructureEU–U.S. Data Privacy Framework and EU Standard Contractual Clauses under Apple’s and Google’s developer terms2026-08-19
Lemon Squeezy, LLCAccount & billing dataMerchant of Record for self-serve checkout: payment processing, fraud screening, sales-tax and VAT determination, invoicing, and refunds. Not yet live: while checkout is not open, paid plans are invoiced by Torsten Labs directly and Lemon Squeezy receives no data.Billing name, email, billing address, country, tax identifiers, purchase history, and payment-method metadata. Full card numbers are handled by Lemon Squeezy and its PCI-DSS certified processors and never reach poolse systems.United States, with processing by its own payment partnersEU Standard Contractual Clauses under the Lemon Squeezy Data Processing Addendum2026-08-19
Resend, Inc.Account & billing dataDelivery of transactional email — address verification, password resets, security alerts, and replies to messages you send us.Recipient email address, message subject and body, and delivery metadata.United States and European UnionEU Standard Contractual Clauses under the Resend Data Processing Agreement2026-08-19
Zoho Corporation B.V.Account & billing dataEmail mailboxes for the addresses we publish (hello@, support@, sales@, billing@, security@, privacy@, legal@): the correspondence you and your users send us.Sender name and email address, and whatever the email contains, including anything you choose to forward to us.European Union (Zoho EU data centres)Data stays in the EU data centres; EU Standard Contractual Clauses in the Zoho Data Processing Addendum for any access by Zoho group support outside the EEA2026-10-28
Telegram FZ-LLCOperational metadataDelivery of internal operational alerts to the poolse on-call channel (for example, a failed webhook delivery in the public demo).Event metadata only — event type, tenant and conversation identifiers, timestamps. Message bodies are never included in an alert.United Arab Emirates and global infrastructureEU Standard Contractual Clauses; alerts are configured to exclude content and direct identifiers2026-08-19

Each subprocessor is bound by a written contract meeting Art. 28(3) GDPR, is limited to the purposes above, and is assessed before being engaged. The current list is maintained at /legal/subprocessors; customers can subscribe to change notices under the DPA.

Other recipients, which are not subprocessors:

RecipientRelationship and what they receive
Google LLC / GitHub, Inc.Identity providers, only if you choose to sign in with Google or GitHub. They tell us your email address, name, and profile image; we tell them nothing about your poolse usage. Each acts as an independent controller for the sign-in itself.
Professional advisers and authoritiesAccountants, auditors, and lawyers under a duty of confidentiality; and courts, tax authorities, or law-enforcement bodies where a legally binding request requires it.
A successor entityIf poolse or Torsten Labs is merged, acquired, or has assets transferred, data moves with the service. You will be told before any transfer changes who controls your data, and the receiving party stays bound by these commitments.

5. Payments and the Merchant of Record

Today, paid plans are invoiced directly by Torsten Labs DOO. When you apply for a paid plan we activate it by hand and send an invoice. We keep the billing data that requires — name, billing address, country, tax identifiers, invoices and payments — as the controller, for as long as tax and accounting law requires (see § 7). We never receive or store card numbers.

When self-serve checkout opens, it will be run by Lemon Squeezy, LLC as our Merchant of Record and authorised reseller. For purchases made there, your purchase contract for the transaction is with Lemon Squeezy: it takes the payment, determines and remits sales tax and VAT, issues the invoice, and handles refunds and chargebacks. For that transaction it is an independent controller, and its privacy notice governs it. The checkout runs on Lemon Squeezy's infrastructure, so your card number never touches our systems; we receive back only your billing email, country, plan, subscription status, invoice references, and the last four digits and brand of the card for display.

6. International transfers

Torsten Labs DOO is established in North Macedonia. The European Commission has not issued an adequacy decision for North Macedonia under Art. 45 GDPR. We say that plainly because a policy that glosses over it is not much use to a buyer doing diligence.

For personal data coming from the EEA, the UK, or Switzerland:

  • Where a customer in those regions sends us end-user data, the transfer to us as processor is covered by the EU Standard Contractual Clauses (Commission Implementing Decision (EU) 2021/914), Module Two (controller to processor), incorporated into our DPA, together with the UK International Data Transfer Addendum and the Swiss adaptations where those regimes apply.
  • Where we onward-transfer to a subprocessor, Module Three (processor to processor) applies, and each subprocessor is bound by terms no less protective than ours.
  • Where a subprocessor is outside the EEA, we rely on the transfer mechanism named for it in the subprocessor list (the EU–U.S. Data Privacy Framework or the Standard Contractual Clauses), and we apply supplementary measures: message bodies encrypted at rest under per-tenant keys we hold, TLS on every external connection, minimisation of what leaves the primary region, and the request policy under which we challenge overbroad government access requests and tell the affected customer unless legally forbidden.
  • The application servers and the database run in Frankfurt, Germany (Oracle Cloud, region eu-frankfurt-1). Attachments are stored in Cloudflare R2, which is not restricted to the EU, so Cloudflare may store them in another region.

You may request a copy of the clauses we rely on, with commercial terms redacted, at [email protected].

Representative in the EU

No representative designated

poolse is available worldwide and is not directed at any particular market. We do not market in an EU language other than English, price in euro, or offer EU-specific plans, and we have not designated a representative under Art. 27 GDPR. Should that change, we will appoint one and name it here.

None of that limits your rights. Where the GDPR applies to a customer's use of poolse, we meet our obligations as processor under the Data Processing Addendum, and anyone may raise a data protection matter with us directly at [email protected].

7. How long we keep it

DataRetentionWhy
Dashboard account and organisation recordsFor the life of the account. Deleted immediately when you confirm account deletion, together with every workspace it ownsDeletion is a deliberate, confirmed step, so there is no grace period
Customer chat content (as processor)For as long as the customer's workspace exists. On deletion, the rows and attachment objects are purged and the workspace's encryption key is destroyed, so no remaining copy in the live system can be decryptedDestroying the key backs up the row deletion
Call records (as processor)For as long as the customer's workspace exists. Call audio and video are never recorded or storedCall history in the customer's app
Device push tokens (as processor)Until the customer's app replaces or unregisters it, or Apple or Google reports it invalidNeeded to deliver notifications
Webhook delivery records, including their payloads30 daysDelivery history and replay; payloads contain message text
AttachmentsDeleted with their message or workspace. Uploads that are never attached to a message are deleted after 24 hoursStorage hygiene
Server and access logsA fixed-size rotating buffer per service (at most 100 MB), so old entries are overwritten as new ones arrive; at current volume that is normally a few weeksEnough to investigate an incident, not enough to become a surveillance archive
Audit log entries inside a workspaceFor the life of the workspaceThe customer's compliance record, not ours
Billing records, invoices, and tax documentation10 years from the end of the financial yearMandatory retention under North Macedonian accounting and tax law; we cannot delete these on request
Support correspondenceUp to 24 months from last contact; we review and delete older mail at least once a yearContext for recurring issues
Abuse reports and requests from authorities3 years after the case is closedTo show what we were told and what we did
Cookie consent records12 months, matching the cookie's lifeProof of what you consented to, for as long as the consent stands
BackupsNightly database backups, each kept 35 days, then deletedA deletion is applied to live systems at once; until the backups taken before it age out, the deleted data still exists in them. Backups are never restored to reverse a deletion

Where we are required to keep something longer — a legal hold, an open dispute, a regulatory request — we keep only what that specific obligation requires and delete the rest on the normal schedule.

8. How we protect it

  • Encryption at rest. Message bodies, webhook signing secrets and push credentials are encrypted with AES-256-GCM under a Data Encryption Key unique to the workspace, which is itself wrapped by a master key (envelope encryption). Other data is stored without application-level encryption, including display names, conversation names, a short preview of the latest message, call records, webhook delivery payloads and attachments; the encryption docs list exactly what is and is not encrypted. This is not end-to-end encryption: our servers hold the keys and decrypt data to serve it.
  • Encryption in transit. HTTPS and WSS only on every external connection, with HSTS. Plain HTTP is redirected, never served. Traffic between our own services stays inside one server's private network.
  • Credential handling. Passwords are bcrypt-hashed. API keys are stored as a keyed hash (HMAC-SHA256) plus a display prefix; the secret half exists only in the response that created it. Browser clients never receive a long-lived API key; they get short-lived tokens minted server-side.
  • Separation of duties. The operator console reads metadata only. Its inability to reach message text is enforced at the module boundary and covered by a regression test.
  • Signed webhooks. Deliveries are HMAC-SHA256 signed over a timestamped payload with a five-minute replay window, so you can verify that what arrived came from us.
  • Access control. The operator console needs a password and a one-time code sent by email. The servers accept SSH keys only, with no password or root login, and a firewall that denies everything not explicitly opened.
  • Resilience. Nightly database backups kept for 35 days, and rate limiting at the edge.

No system is perfect, and we will not pretend otherwise. If a personal data breach occurs, we notify the competent supervisory authority within 72 hours of becoming aware where Art. 33 GDPR requires it, notify affected individuals without undue delay where the risk is high, and notify affected customers without undue delay in every case so they can meet their own obligations. Report a suspected vulnerability to [email protected]; we will not pursue legal action against good-faith security research that follows the disclosure policy.

9. Your rights under the GDPR, UK GDPR, revFADP, and the LPDP

You can ask us to:

  • Access — confirm whether we process data about you and get a copy, with the information in this policy.
  • Rectify — correct anything inaccurate or complete anything incomplete.
  • Erase — delete data where Art. 17 applies, subject to the retention obligations in § 7.
  • Restrict — pause processing while an accuracy or objection dispute is resolved.
  • Port — receive the data you gave us in a structured, commonly used, machine-readable format, or have it sent directly to another provider where technically feasible. Customers can read their workspace's conversations and messages at any time through the API.
  • Object — object to processing based on legitimate interests, including profiling. We stop unless we can show compelling legitimate grounds that override your interests. Where the objection is to direct marketing, we stop without qualification and without asking why.
  • Withdraw consent — at any time, as easily as it was given. Cookie choices are changed from the footer link on every page. Withdrawal does not affect processing that already happened.
  • Not be subject to automated decisions producing legal or similarly significant effects. We do not make any.

How to exercise them. Email [email protected] from the address on your account, or write to the registered seat above. We respond within one month, extendable by two further months for genuinely complex requests, in which case we tell you within the first month and explain why. There is no charge unless a request is manifestly unfounded or excessive, and we will explain before charging anything. If we cannot identify you from what you have sent, we will ask for what we need — and no more.

Account holders can act directly. Your dashboard lets you edit your profile and delete your account, and every workspace it owns, without asking us first. Deletion is immediate.

Complaints. Tell us first if you can — most issues are a misunderstanding we can fix the same day. You always keep the right to complain to a supervisory authority: the Agency for Personal Data Protection of the Republic of North Macedonia, or, in the EEA, the authority in your country of residence, place of work, or where the alleged infringement occurred. In the UK it is the Information Commissioner's Office; in Switzerland, the Federal Data Protection and Information Commissioner.

10. Marketing communications

We send product and company email only to people who asked for it, and to existing customers about products similar to what they already use, which is permitted under the ePrivacy soft opt-in. Every message has a one-click unsubscribe that works immediately and does not require you to sign in. Unsubscribing never affects service email — verification, password resets, billing notices, and security alerts continue for as long as you hold an account, because they are part of the service and not marketing.

11. Children

poolse is a business tool. The dashboard is not directed at children, and you must be at least 16 — or 18 where local law sets that as the age to enter a contract — to create an account. We do not knowingly collect personal data from children. If you believe a child has given us data, write to [email protected] and we will delete it.

If you build a product on poolse that is directed at children, that is your call and your responsibility: you must obtain any parental consent your law requires (COPPA in the United States, Art. 8 GDPR in the EU, and their equivalents) before routing a child's data through our service. Our Acceptable Use Policy is part of that obligation.

12. Cookies and similar technologies

Covered in full, cookie by cookie, in the Cookie Policy. The short version: strictly necessary cookies keep you signed in, protect our forms, and remember your choice; nothing else is set unless you switch it on; and you can change your mind at any time.

We honour the Global Privacy Control signal. If your browser sends it, we treat that as a refusal of every optional category and as an opt-out of any sale or sharing of personal data.

13. Your rights in the United States

If you live in California, Colorado, Connecticut, Virginia, Utah, Texas, Oregon, Montana, or another state with a comprehensive privacy law, you have rights to know, access, correct, delete, obtain a portable copy, and opt out of sale, sharing, targeted advertising, and significant profiling. You also have the right not to be discriminated against for exercising them — we do not offer financial incentives for data and we do not degrade the service for anyone who says no.

The disclosures those laws require:

  • We do not sell personal information, and we have not in the preceding 12 months.
  • We do not share personal information for cross-context behavioural advertising, and we have not in the preceding 12 months.
  • We do not use or disclose sensitive personal information for any purpose beyond what CCPA § 7027(m) permits without a right to limit. We do not collect it for the dashboard at all.
  • We do not knowingly sell or share the personal information of anyone under 16.
  • The categories we collect, the purposes, the sources, and the recipients are set out in § 2, § 3, and § 4. Retention is in § 7.

To exercise a right, email [email protected]. We confirm receipt within 10 business days and respond within 45 days, extendable once by a further 45 days with notice. An authorised agent may act for you with written permission that we can verify. If we refuse, we say why, and you may appeal by replying to that decision with the word "appeal"; we answer an appeal within 45 days and, if we still refuse, tell you how to contact your state Attorney General.

For California residents specifically: where we handle your data on behalf of a business customer, we act as a service provider under the CCPA, and we neither retain, use, nor disclose that information outside the direct business relationship or for any commercial purpose other than performing the service.

14. Changes to this policy

We update this policy when the service or the law changes. Every version carries a number and an effective date at the top, and we keep the previous versions available on request.

For a change that materially affects you, we give notice at least 30 days in advance by email to account holders and by a notice on the site — and where the change means we would rely on your consent, we ask for it rather than assume it. Minor clarifications take effect on publication.

15. Contact

ReasonAddress
Privacy, data protection, and rights requests[email protected]
Security vulnerabilities[email protected]
Legal notices and DPA signature requests[email protected]
Everything else[email protected]

Postal mail reaches us at the registered seat listed at the top of this page. We are below the thresholds in Art. 37 GDPR and Art. 41 LPDP that make appointing a Data Protection Officer mandatory, so the contact above is a designated privacy contact rather than a formally appointed DPO — we would rather tell you that than imply an office we have not created.

© 2026 Torsten Labs DOO. poolse is a product of Torsten Labs.

TermsPrivacyCookies