{"version":"1.2","text":"# AtlasEye Privacy Policy (v1.2)\n\n<!-- Internal note (not rendered): v1.2 drafted 2026-07-24 as a complete\n     GDPR redraft closing the 18 gaps identified in the 2026-07-24 legal\n     audit; every statement was checked against the shipped code.\n     Controller-identity and hosting-provider fields in §1/§3 must be\n     completed before this version is PUBLISHED on the license server. -->\n\nThis policy explains what personal data the AtlasEye **license server and\ncustomer portal** (license.cdnglobal.eu) process, why, and your rights. It\ncovers only the data described below. For everything your own AtlasEye\ninstallation processes, see §2 (\"Self-hosted installations — who is\nresponsible for what\").\n\n## 1. Controller\n\n**Controller:** **CDNCORE, LDA** (trading as \"cdnCore\"), a private limited\ncompany (_sociedade por quotas_) registered in Portugal under NIPC\n518440826 (VAT PT518440826), with registered office at Parkurbis, Parque\nde Ciência e Tecnologia da Covilhã, 6200-865 Covilhã, Portugal.\n\n**Privacy contact:** privacy@cdnglobal.eu.\n\n## 2. What we process, why, and on what legal basis\n\n### 2.1 Self-hosted installations — who is responsible for what\n\nAtlasEye runs on your own infrastructure. All data your installation\nprocesses — the user accounts and login records of your staff, audit\ntrails, monitored-device data, syslog messages and the IP addresses they\ncontain, and web-analytics data about visitors to your websites — is\nstored exclusively on your systems and is **never transmitted to us**. For\nthat data, you (our customer) are the sole data controller and must\nprovide your own privacy notice to your users and website visitors. We\nhave no access to it and act as neither controller nor processor for it;\nno data processing agreement (Art. 28 GDPR) is required with us for your\nuse of the software. **Air-gapped installations transmit nothing to us at\nall** — for them, only §2.4 (portal account, if you create one) and §2.5\n(billing/sales contact) can apply.\n\n### 2.2 License activation and checks (data from your installation)\n\n| Data | Purpose | Legal basis (Art. 6(1)) |\n|---|---|---|\n| Licence key | Identify the licence being activated/verified | (b) contract |\n| Hardware fingerprint — a SHA-256 hash of the host machine-id, a random installation UUID, and the primary network interface's MAC address; only the hash is transmitted, never the inputs | Enforce activation limits and one-trial-per-machine; recognise the same installation | (b) contract; (f) legitimate interest (licence enforcement) |\n| Installed product version, container-image digest, integrity-manifest hash (sent with each licence check, roughly every 6 hours) and version sent with update polls (roughly hourly) | Serve correct updates; detect tampered installations | (b) contract; (f) legitimate interest |\n| EULA version accepted + acceptance timestamp (recorded per activation) | Evidence that the licence agreement was accepted for this installation | (f) legitimate interest (establishment of legal claims) |\n| A watermark identifier deterministically derived from your licence key and customer id (not stored as data; embedded in your installation's UI to trace leaked screenshots) | Licence enforcement | (f) legitimate interest |\n\nYour installation's public IP address necessarily reaches our\ninfrastructure whenever it contacts the license server; it appears only in\nshort-lived server access logs (§5) and is not stored in the licence\ndatabase.\n\n### 2.3 Trial (demo) requests\n\nA trial can be requested anonymously. If you choose to provide a profile,\nwe process the details you submit — email, first/last name, company, VAT\nnumber, phone, country, address — for pre-contractual steps, invoicing,\nand tax compliance (Art. 6(1)(b), (c)).\n\n### 2.4 Customer portal accounts\n\n| Data | Purpose | Legal basis |\n|---|---|---|\n| Email address, password (stored only as a strong adaptive hash), first/last name, company, country | Account creation, authentication, account management | (b) contract |\n| Email-verification and password-reset tokens (single-use; verification tokens expire after 48 hours, reset tokens after 2 hours; cleared on use) | Account security | (b) contract |\n| Optional two-factor-authentication secret (encrypted) | Account security, at your choice | (b) contract |\n| Last-login timestamp | Account security | (f) legitimate interest |\n| IP address at the time of security-relevant account actions (data export, deletion request, profile/security changes) and administrative actions | Recorded in our append-only audit log to evidence who performed the action, investigate abuse, and demonstrate compliance with data-subject requests | (f) legitimate interest; (c) legal obligation |\n| Support messages you send via the portal contact form (your email and message content) | Answering your request | (b) contract; (f) legitimate interest |\n\n### 2.5 Billing and sales\n\nWhen billing is enabled and you purchase a paid plan: your email address,\nchosen plan, and billing cycle are shared with **Stripe** to create the\ncheckout session; Stripe returns your email, the name you entered at\ncheckout, and subscription/transaction references, which we store against\nyour licence (Art. 6(1)(b); fraud-prevention signals under (f)). Invoices\nand receipts are generated and hosted by Stripe. Full card or bank details\nnever touch our servers. Where billing is disabled on this deployment, no\ndata is sent to Stripe.\n\n**Where we obtain data from someone other than you (Art. 14):** we may\nreceive your business-contact details from Stripe (when a purchase is made\nfor your organisation), from your employer or colleague (when they\nregister a trial or purchase on your organisation's behalf), or record\nthem ourselves during sales contact. In these cases the data is limited to\nbusiness-contact details (name, email, company, billing address) and\nlicence entitlements; this policy is linked from every account and licence\nemail we send.\n\n## 3. Recipients and processors\n\n- **Hosting:** license.cdnglobal.eu runs on the Vendor's own\n  infrastructure located within the EEA; no third-party hosting provider\n  processes this data on our behalf.\n- **Payment processor: Stripe Payments Europe, Ltd.** (1 Grand Canal\n  Street Lower, Dublin, Ireland) — engaged only when billing is enabled\n  (§2.5). Stripe is an independent controller for the payment itself and\n  uses sub-processors including Stripe, Inc. (USA) under the EU–US Data\n  Privacy Framework and Standard Contractual Clauses; see\n  https://stripe.com/privacy.\n- **Bot protection: Cloudflare, Inc.** (101 Townsend St, San Francisco,\n  USA) — engaged only when bot protection is enabled on this deployment.\n  The portal sign-in/sign-up pages then load Cloudflare's Turnstile\n  widget, which processes your IP address and technical browser\n  characteristics to distinguish humans from bots, and our server forwards\n  your IP address to Cloudflare to verify the challenge (Art. 6(1)(f) —\n  protecting the portal against automated abuse). Transfers are\n  safeguarded by Cloudflare's Data Privacy Framework certification and\n  SCCs; see https://www.cloudflare.com/turnstile-privacy-policy/.\n- **Email delivery:** transactional messages (account verification,\n  password reset, licence keys, billing and deletion notices, support\n  replies) are sent through the mail relay configured for this deployment\n  (by default, our own infrastructure at cdnglobal.eu). The relay\n  processes the recipient address and message content solely to deliver\n  the message.\n\nWe do not sell personal data and do not share it with anyone else, except\nwhere required by law.\n\n## 4. International transfers\n\nOur servers and database are located in the EEA. Two optional integrations\ncan involve transfers outside the EEA when enabled on this deployment:\nStripe (§2.5) and Cloudflare Turnstile (§3), both certified under the\nEU–US Data Privacy Framework and additionally bound by Standard\nContractual Clauses (2021/914). No other transfers outside the EEA take\nplace.\n\n## 5. Retention\n\n| Data | Retention |\n|---|---|\n| Active licence rows (licence key, plan, entitlements) | Lifetime of the licence; expired/revoked rows are reviewed and anonymised at least annually |\n| Activations (fingerprint hash, timestamps, version data, EULA acceptance) | Same as the parent licence; acceptance records may be kept longer as evidence of contract (Art. 17(3)(e)) |\n| Integrity/tamper strike records | Until cleared by an administrator following investigation |\n| Portal accounts | Until you delete your account (§6); login credentials are deleted when the deletion is approved (target: within 30 days), the remaining profile is anonymised unless licences, invoices, or legal obligations require retention |\n| Email verification / password-reset tokens | Single-use; expire after 48h / 2h and are cleared on use |\n| Audit log (administrative and account security actions, incl. IP address and, for deletion requests, the requesting email) | Retained for the life of the service as security forensics and evidence that requests were honoured (Art. 17(3)(b), (e)) |\n| Billing records (Stripe references, invoices) | As required by tax and accounting law (typically 10 years in Portugal) |\n| Server access logs (connection IPs, requested URLs) | Kept for operational security and periodically purged; not aggregated, profiled, or shared |\n| Support correspondence | For the duration of the customer relationship |\n\n## 6. Your rights\n\nYou can: **access** your data, **rectify** it, **erase** it, **restrict**\nor **object** to processing based on legitimate interest, and receive a\n**portable** copy (Art. 15–21 GDPR).\n\n**Self-service:** from Portal → Profile you can download a\nmachine-readable export of your account, profile, licences, and activation\nhistory at any time, and request account deletion from the same page. On a\ndeletion request your login is disabled immediately and an operator\nconfirms the deletion (normally within 30 days); a minimal audit record of\nthe request (your email, timestamp, requesting IP) is retained as evidence\nthat the request was honoured. Anything not covered by the export can be\nrequested via privacy@cdnglobal.eu.\n\nYou may lodge a complaint with a supervisory authority — either the\nauthority of your habitual residence or our lead authority, the Comissão\nNacional de Proteção de Dados (CNPD), https://www.cnpd.pt.\n\n## 7. Automated enforcement\n\nOur license server automatically suspends an installation's licence\nverification when repeated integrity-check failures indicate tampering\n(after three consecutive failed checks), and automatically limits trial\nlicences to one per machine (§2.2 fingerprint). These are the only\nautomated decisions we take; no profiling for marketing or scoring occurs.\nIf your installation is blocked you can obtain human review at any time\nvia support@cdnglobal.eu — a person, not the system, decides whether the\nblock is lifted (Art. 22(3) GDPR).\n\n## 8. Cookies\n\nThe customer portal sets only first-party cookies that are strictly\nnecessary or reflect your explicit choice: `lsr_portal_session`\n(authenticated session; HttpOnly, SameSite=Lax, Secure in production), a\nshort-lived cookie used only during two-step login when you have enabled\n2FA (expires after 5 minutes), and `portal_lang` (your chosen interface\nlanguage, set only when you pick a language). The admin console used by\nour own staff sets an equivalent session cookie (`lsr_admin_session`).\nNone of these are used for tracking, and no consent banner is required for\nthem. When bot protection is enabled, the Cloudflare Turnstile widget\ndescribed in §3 runs on the sign-in/sign-up forms only and may store\ntechnical client-side state solely for bot protection. Apart from that, we\nuse no third-party cookies, advertising trackers, or tracking pixels.\n\n## 9. Security\n\nThe license server runs as a non-root container with a strictly limited\ndatabase account; passwords are stored only as strong adaptive hashes;\ntwo-factor secrets and other stored secrets are encrypted at rest; release\nmanifests are signed with an Ed25519 key held outside the repository;\nimages are vulnerability-scanned before release; access to production\nsystems is restricted to authorised personnel. If a personal-data breach\nis likely to result in a risk to you, we will notify the competent\nauthority within 72 hours and, where required, notify you directly\n(Art. 33–34 GDPR).\n\n## 10. Children\n\nAtlasEye is a business tool. Our services are not directed at children and\nwe do not knowingly collect personal data from anyone under 16. If you\nbelieve a minor has created a portal account, contact\nprivacy@cdnglobal.eu and we will delete it.\n\n## 11. Changes and contact\n\nWe will publish changes to this policy at this address; material changes\nare announced to the account email of affected portal users. The\nversion you are reading is shown in the title.\n\nQuestions and requests: **privacy@cdnglobal.eu** or by post to the\ncontroller's address in §1.\n\n---\n\n_Version 1.2 — drafted 2026-07-24; effective upon publication on the\nlicense server._\n","locale":"en"}