SG
DoubleTaxation.tax residence check for Singapore taxpayers abroad

Privacy policy

Version of 2026-11-12

In short

The service does not collect or store your answers. Your tax status is calculated in your browser.

We do not use cookies, advertising identifiers or tracking of individual visitors. For statistics we keep only anonymous daily counters (see below) and use Cloudflare Web Analytics, a cookie-free service.

What data is processed

Your answers (home, family, days of presence, citizenship, etc.) exist only in your browser's memory while the page is open and are not sent to the server.

If you choose to share a link to your result (the “Share” button), your answers are encoded in that link and go to whoever you send it to and to the service you send it through (e-mail, messenger); our server does not receive them, because browsers do not send the part of a link after “#” to the server.

Anonymous counters. To understand how the service is used, our server adds +1 to daily counters: a visit; the country derived from your device's time zone; the domain of the site you came from (for example google.com or chatgpt.com, without the full address); the page viewed; the country selected; the overall result of the check (which country you are resident in, reliability level, whether there is a conflict). No IP address, cookies, identifiers or individual visitor records are stored, so the counters cannot be linked to a person. To avoid counting one visit twice, the browser keeps a flag in tab memory (sessionStorage) that is never sent anywhere and disappears when the tab is closed.

For search engine and AI bots (for example Googlebot or GPTBot) we count requests by the bot name in its user-agent.

Site traffic statistics are also collected by Cloudflare Web Analytics in anonymous form: no cookies, no visitor identifiers and none of your answers.

The hosting provider (Microsoft Azure) may temporarily process technical request data (IP address, browser type) to operate and protect the site under its own policies; the counters are stored in Azure Table Storage.

To protect the site from attacks, requests to service addresses that ordinary visitors do not use (for example /.env or a fake login page) are recorded in a security log: a shortened IP address (without the last number), a non-reversible source key, browser type, the requested address and the login typed into the fake form (never the password). The log is kept for 30 days; repeated attacks from the same source lead to a temporary or permanent block of access to the site.

Feedback form

If you send a message through the form on the Feedback page, we receive the text of the message, the e-mail you provide and the language version of the site. They are delivered as an e-mail to the service operator's mailbox and are used only to read your message and reply to you. They are not stored on the site or in the statistics.

The e-mail is sent via Azure Communication Services (Microsoft). To filter out automated submissions, the form page uses Cloudflare Turnstile (Cloudflare, Inc.), which processes technical data of your browser for this check and does not receive the text of your message. Turnstile is loaded only on the Feedback page.

The legal basis is your consent, which you give by ticking the box in the form; you may withdraw it at any time. We keep the correspondence for no longer than 12 months after the last message. To have it deleted earlier, send a request through the same form from the same e-mail address.

AI assistants (MCP)

You can also run the check through an AI assistant (for example Claude or ChatGPT) if you have connected our MCP server (https://doubletaxation.app/api/mcp) to it yourself. The assistant then sends your answers (home, family, days of stay, citizenship and, if you choose, types and amounts of income) to our server so that the rules engine can compute the result.

The server processes these answers only in memory while handling the request and does not store them — not in a database, not in logs, not in statistics. Statistics only receive +1 to a daily counter of requests with the assistant's name taken from the technical request header (user-agent) — without answers, IP addresses or any identifiers.

The day-counting tool (count_days) receives a list of trips (countries and dates) from the assistant, only computes the days in memory while handling the request and likewise does not store them. Likewise, the business-form comparison tool (compare_business_forms) processes the revenue and expense amounts sent by the assistant only in memory.

What you write to the assistant is processed by its provider (for example Anthropic or OpenAI) under its own terms and privacy policy; we do not receive that data, except the answers the assistant sends to our server for the check.

AI assistant in the app

The AI assistant is available in the Android app after you sign in with your Google account; using it is optional. Answers are generated by the Claude artificial intelligence model (by Anthropic), deployed for our service in Microsoft Azure (Microsoft Foundry). The assistant uses only DoubleTaxation's rules and data and the service's knowledge library, has no internet access and takes no actions outside the app; it only offers to save trips or a result — you save them yourself.

What is sent: the text of your messages and the latest turns of the conversation (up to 16), the app language and, if you have let the assistant see your data (at first launch or in “My profile” → “Settings”), your saved check result (your answers to the questions) and your trips from “Days of stay”. This data is sent to our server and to the model only to generate an answer, is processed in memory while the request is handled and is not stored, either by us or in logs. The model is deployed as Global Standard, so processing may take place in Microsoft Azure data centres outside the European Union. Do not write unnecessary personal data in the conversation (document or account numbers, addresses, etc.).

The conversation history, your choice about data access and the assistant access key (valid for 30 days) are stored only on the phone, encrypted. “New conversation” deletes the history, and “Sign out”, “Delete account” and “Delete all data” delete everything related to the assistant.

What the server stores: daily counters of messages and tokens used for each user under a pseudonymised identifier (a key derived from the Google account; name and e-mail are not stored) — to apply limits and control costs; short service notes for the developer, written by the assistant itself without personal data (questions it could not answer, errors, gaps in the data); the text of the assistant's answer and your comment if you tap “Report this answer”; records of attempts at unlawful use and of access blocks (with the pseudonymised identifier). These records are available only to the service administrator, are used to fix errors and prevent abuse, and are deleted once dealt with, but no later than 12 months. Legal basis: your consent to using the assistant and our legitimate interest in the security and quality of the service.

Protection against abuse

To protect the service from attacks and abuse, the server records only suspicious requests (for example, scans for vulnerable files, requests from other websites, exceeded limits, failed bot checks, attempts to access the administration area) and administrator actions in a security log. An entry contains the time, the event type, a shortened IP address (without the last number; the full address is not stored — only an anonymised key to spot repeats), the browser or app name and the page address without parameters. Message texts, e-mail addresses, answers to the questions and tokens are not recorded.

Entries are kept for 30 days, are available only to the service administrator and are deleted automatically. Legal basis: legitimate interest in keeping the service secure.

Sharing with third parties

We do not sell your data or share it with anyone for their own purposes. Technical providers process data only on our behalf and only as described above: Microsoft (website hosting, Azure Table Storage, sending feedback emails, hosting the AI assistant model in Microsoft Foundry), Cloudflare (DNS, Web Analytics, Turnstile, forwarding mail to support@doubletaxation.app), Google (Google sign-in in the app) and Anthropic as the developer of the Claude model, which it provides through Microsoft Azure (AI assistant requests are processed in Microsoft Azure infrastructure).

Android mobile app

The DoubleTaxation Android app works without internet access: the rules are built into the app and the check runs on your phone. An account is optional; it is needed only for backup and the AI assistant.

Your answers, the result, any profile you save yourself (“Save as my profile”) and your “Days of stay” records (countries and trip dates) are stored only on your phone, encrypted (AES-256, key in Android Keystore). The app does not send them to us or to third parties, shows no ads, does not use GPS and does not ask for location permission: to suggest a country in the trip form it reads the phone's time zone, on the phone itself. Android backup is disabled for this data. If encryption does not work on a particular phone, the data is kept in the app's private storage without encryption so that it is not lost. The exceptions to “nothing is sent” are a backup you create yourself (see the account section) and your conversation with the AI assistant (see the section “AI assistant in the app”).

Automatic country detection in “Days of stay” is off by default and works only if you turn on the “Detect the country automatically” switch yourself. Then, about every 4 hours and whenever you open the app, it reads only the country code of the mobile network the phone is connected to (for example “PL”) — no GPS, coordinates, cell-tower data or Wi-Fi networks. The date and country are stored encrypted only on your phone, are not sent to us or to third parties, and records older than 2 years are deleted automatically. Detected days are recorded in “Days of stay” straight away, marked “automatic”, and are counted; you can change or delete them at any time, and the app does not bring deleted days back. You can turn detection off with the same switch and delete all such records with “Delete automatic records” or by uninstalling the app. “Delete automatic records” also deletes trips created automatically.

Anonymous usage statistics: once a day, on the first launch, the app tells our server only that it was opened (and whether this is the first launch after installation), its language, the time zone and the app version — no device or account identifiers, no answers or trips. The server only adds +1 to daily counters and does not store the IP address. You can turn this off in “My profile” → “Settings”.

Notifications about an approaching day threshold are turned on by you in “My profile”; only then does Android ask for the notification permission. The notification schedule (date, country code, text) is calculated and stored on the phone and is not sent to us. You can turn them off with the same switch or in Android settings.

“My status” and “Advice” are calculated on the phone from your saved data. The annual income you enter to compare taxes in “Advice” is stored only on the phone and is not sent anywhere.

“Delete all data” in “My profile” deletes your profile and result, trips, automatic records, notification schedule, entered income and the AI assistant conversation from the phone and signs you out; it does not delete your account or the backup on the server. You can delete a saved result with “Delete my profile” in “My profile” or by uninstalling the app — after that it cannot be recovered. “Share” passes a link to the result (it encodes your answers) to the app or person you choose, or copies it. Source links and “Feedback” open in your browser and are covered by the website sections of this policy.

App account and how to delete it

You can sign in to the app with your Google account (“Sign in with Google” in “My profile”); there is no separate password. When you sign in, Google gives us your Google account ID, name and e-mail. We store only these, plus the dates the account was created and last used, in Azure Table Storage (Microsoft), to run your account. Your answers and check results are never sent to the server. We do not share this data with anyone or use it for advertising; it is transferred only over an encrypted connection (HTTPS).

Backup (optional). In “My profile” → “Backup” you can save a copy of your profile, result and trips to your account or to a file. The copy is encrypted on the phone with a password you choose (key derived with PBKDF2-SHA256, encryption AES-256-GCM). The server (Azure Table Storage, Microsoft) receives only the encrypted block together with your Google account ID, its size and the date it was saved; we never receive the password or the key and cannot read the copy. If you forget the password, nobody can restore the copy. A new copy replaces the previous one. You save a backup file yourself through the “Share” menu to a place you choose (for example Google Drive).

How to delete your account: in the app open “My profile” → “Delete account” → “Yes, delete permanently” and confirm your Google account. The account and all data about it (ID, name, e-mail, dates) are deleted from the server immediately. If you no longer have the app, e-mail support@doubletaxation.app from the address of your Google account — we will delete the data within 30 days and confirm by e-mail. The backup on the server is deleted together with the account.

The account and its data are kept until you delete it. “Sign out” only signs you out on the phone and deletes nothing. The backup on the server is kept until you replace it with a new one or delete your account.

Your rights

To get a copy of your account data, correct it or delete it, e-mail support@doubletaxation.app from the address of your Google account — we will reply within 30 days; you can also delete the account yourself in the app (see the section above). We store no personal data about users of the website and calculator who have no account.

← Home