Privacy Policy
Last updated: 2026-07-05
This site (the "Calculator") is operated by @loglux as a self-hosted UK tax calculator.
We take privacy seriously and collect only the minimum needed to operate the service.
1. Who we are
- Service operator: Loglux Ltd (Company No. NI739810, registered in Northern Ireland).
- Contact: use the contact form. Pick the "Data / privacy request (GDPR)" subject so the request routes to the right inbox — including for mobile-app queries.
- We are not a regulated UK financial-advice provider.
2. What we collect
2.1 Calculator inputs
When you submit a tax calculation, the values you enter (gross
income, day rate, salary / dividend split, expenses, tax code,
pension scheme, student-loan plan, etc.) are processed to compute
the result. We do log these inputs into UsageEvent rows for
analytics — to see which modes are used, which optimisation
features land, and whether the calculator behaves correctly
across realistic inputs.
We are explicit about this so the policy matches the code. There is no marketing or third-party use of these values, and they age out automatically (see §4).
2.2 Usage events
Every page view, calculator submission and API call is logged as
a UsageEvent row. Default capture (with USAGE_TRACKING flags
all True — see §2.4) includes:
- Timestamp.
- Event type (
page_view,calculate_submit,api_call). - Calculator mode (
paye/limited_co/umbrella/ir35/sole_trader, derived from URL). - Request path and HTTP method.
- HTTP status code.
- A one-way SHA-256 hash of your IP address (always written).
- Your IP address in plain form (for rate-limiting / abuse detection only — see retention below).
- Client kind classifier (mobile / desktop / tablet / bot / unknown) and bot flag, both derived from User-Agent.
- Truncated User-Agent string (max 255 chars).
- Referer hostname only (just the domain, e.g.
recruit-co.uk— never the full URL or query parameters). Used to see which sites embed the widget and where organic traffic comes from. - Tax year selected.
- Region flag (Scotland yes/no).
- For PAYE submits: income amount, income type, workweek hours, blind-allowance flag, no-NI flag, MCA flag, pension scheme choice, student-loan plan choice.
- For other modes: mode-specific amounts and option flags
(revenue / expenses / day rate / salary / dividends, IR35
small-client flag, Class 2 voluntary flag, tax code, etc.)
captured into a structured
payload_summaryJSON field.
We do not collect: name, postal address, email, phone number, payment data, employer or pension-provider names, NI number, UTR, or anything outside what the calculator forms themselves ask for.
2.3 Operator-configurable capture
The capture above is the default. Each item below is
controlled by a single flag in the project's USAGE_TRACKING
settings dict, and the operator can disable any of them per
deployment without touching code:
| Flag | Controls |
|---|---|
capture_amounts |
Income / day rate / salary / dividend / revenue / expenses |
capture_tax_codes |
Tax codes (e.g. 1257L, SK, D0) |
capture_referer |
Referer hostname |
capture_user_agent |
Raw User-Agent string (derived flags always kept) |
capture_ip_plain |
Plain IP address (SHA-256 hash always kept) |
This section will be updated if the deployed default changes.
2.4 Cookies
The Calculator uses two cookies:
sessionid— Django's session cookie. Holds the last active calculator tab so a page refresh keeps you on the tab you were using. No personal data, no cross-site tracking.csrftoken— Django's CSRF protection cookie, required for form submissions to work safely.
Both are first-party, HttpOnly, and Secure (only sent over
HTTPS). We do not use third-party tracking, advertising, or
analytics cookies (no Google Analytics, no Facebook Pixel, etc.).
2.5 Local browser storage
To save you re-entering the same details when you switch between
calculators (PAYE, Dividend, Self Assessment, Sole Trader, IR35,
Umbrella) or come back on a later visit, the site stores a small
"shared profile" of your most recent inputs in your browser's
localStorage, under the key taxscope_profile_v1.
This stays on your device. It is never sent to our server, never
appears in a request we receive, and never appears in the
UsageEvent logging described in §2.2 — it's pure browser storage
we cannot see or access. As with the rest of the calculator (see
§2.2), none of it is a name, address, email, phone number, or
National Insurance / UTR number — it's only the calculator-input
values below, taken from whichever calculator you last used:
| Field | What it stores |
|---|---|
| Tax code | Your PAYE tax code (e.g. 1257L) |
| Scottish taxpayer flag | Whether you pay Scottish Income Tax |
| Blind Person's Allowance flag | Whether you claim this allowance |
| Marriage Allowance choice | None / Receiving / Giving |
| Salary | Your annual salary / employment income |
| Dividend income | Your annual dividend income |
| Workplace pension scheme + % | Scheme type and contribution percentage |
| Student loan plan + postgraduate flag | Undergraduate plan (1/2/4/5) and whether you also repay a Postgraduate Loan |
It's used only to pre-fill form fields the next time you open one of our calculators in the same browser, and stays until you clear it (see below) or clear your browser's site data. We don't read or write it anywhere except the calculator pages listed above, and it isn't shared with, or accessible to, any other website.
To clear it: clear "Cookies and site data" for taxscope.uk in
your browser settings, or remove the taxscope_profile_v1 key via
your browser's developer tools (Application/Storage tab).
This is functional storage that makes the multi-calculator workflow more convenient — not advertising, marketing, or tracking. Consistent with §3, we don't rely on your consent for it.
3. Why we collect it (lawful basis)
- Legitimate interest (UK GDPR Art. 6(1)(f)): rate-limiting prevents abuse and keeps the service available for everyone. Anonymous usage statistics let us understand which calculators are useful and prioritise improvements.
- Contractual / pre-contractual (Art. 6(1)(b)): processing your calculator inputs transiently to return a result is performance of the service you requested.
We do not rely on consent (Art. 6(1)(a)) for any of the above, because none of the processing is for marketing purposes.
4. How long we keep it
| Data | Retention |
|---|---|
UsageEvent rows (everything in §2.2 — calculator inputs, mode, payload_summary, IP, referer, etc.) |
90 days from the event. Older rows are deleted automatically by the scheduled prune_usage_events job. |
Contact form submissions (ContactRequest) |
24 months from the date of the message, or sooner if you ask us to delete it. |
| Web server logs (gunicorn) | 30 days, then rotated. |
| Django sessions | 14 days from last activity. |
We do not sell, share, or transfer your data to third parties.
5. Your rights under UK GDPR
You have the right to:
- Access — request a copy of any data we hold that relates to you. Because we use IP-hashed identifiers, you may need to share your current IP for us to look it up.
- Erasure — request that we delete data relating to you. Because rows are anonymised by design, we generally have no practical way to identify "you" without you giving us your current IP, but on request we'll delete any rows that match.
- Rectification — irrelevant in practice (we don't store modifiable personal data).
- Object to processing — you can ask us to stop logging your visits; we'll add your IP hash to a do-not-log list.
- Lodge a complaint with the UK Information Commissioner's Office (https://ico.org.uk/) if you think we've mishandled your data.
To exercise any right, email the contact address above.
6. Security
- All traffic is served over HTTPS (TLS 1.2+).
- Passwords are not collected — there is no user account system.
- The database is on a self-hosted server. Backups are encrypted at rest.
- Dependencies are monitored and patched for known vulnerabilities.
7. Children
The Calculator is not directed at children under 13. We do not knowingly collect data from children. If you believe a child has submitted information, contact us and we will delete it.
8. Changes
If this policy changes, we'll update the "Last updated" date above. Material changes (e.g. new categories of data collected) will be flagged with a notice on the site for at least 30 days.
9. Disclaimer
This Calculator is not financial or tax advice. See /terms/
for the full disclaimer.
10. Mobile app (TaxScope UK, Android)
Everything above (§1–9) describes the web calculator at taxscope.uk. The TaxScope UK mobile app works differently and is covered separately here.
10.1 What the app does NOT do
The app performs all tax calculations on your device — the income, tax code, and other figures you enter are never sent to any server. There is no account system and no calculator-input logging of the kind described in §2.1–2.2 for the website.
10.2 What the app does send over the network
- Tax rates file: the app periodically downloads a small,
non-personalised JSON file of current HMRC rates from
taxscope.uk (
/rates/tax-rates.json) so it stays accurate between app updates. This is a plain file request — no calculator inputs or personal data are included or required. - Advertising (Google AdMob): the free version of the app shows ads served by Google AdMob. To do this, Google collects and processes an advertising identifier, IP address, device information (model, OS version) and ad-interaction signals, under Google's own privacy policy (https://policies.google.com/privacy) — Google acts as an independent controller for this data, not us. You can reset or limit your device's advertising identifier, and opt out of personalised ads, in your device's system settings (Settings → Privacy → Ads). On first launch, EU/UK users are shown a consent prompt (via Google's User Messaging Platform) before any personalised advertising identifiers are collected, per Google's EU User Consent Policy.
10.3 Pro subscription and analytics
An optional Pro subscription (removes ads, unlocks the Limited Co, Self Assessment, Sole Trader, Dividend, Umbrella and IR35 calculators) is available via Google Play Billing — payment details are handled entirely by Google; we never see or store them.
The app also uses Firebase Analytics (Google) to understand which calculators people actually use, so we know where to focus development. This collects screen views (which calculator screens you open), basic app-usage events (app opens, sessions), and device/app info (device model, OS version, app version, country, language) — under Google's own privacy policy (https://policies.google.com/privacy), similar to the AdMob arrangement in §10.2. No calculator inputs (income, tax code, salary figures, etc.) are ever included in this data — Firebase Analytics only sees which screens you navigate to, not what you type into them. There is no Crashlytics or crash reporting in the app at this time.
An iOS release is not currently planned; this section will be extended to cover Apple's In-App Purchase system if that changes.
10.4 Your rights
Since the app itself sends us no personal data, most of §5 doesn't apply to app use specifically — any data-subject request about Google's advertising data should go to Google (https://myaccount.google.com/data-and-privacy). Requests about taxscope.uk's own data practices (§1–9) still go through the contact form as normal.