Privacy Policy
Last updated: 23 June 2026
1. Controller
The controller within the meaning of the General Data Protection Regulation (GDPR) and other national data protection laws is:
Armin Jelešković
Example Street 1, 10115 Berlin, Germany
E-mail: hello@armin.ninja
2. Overview of data processing
This privacy policy explains which personal data we process when you visit this website, for what purpose, and on what legal basis. Personal data is any information that can be used to identify you personally.
We process personal data only to the extent necessary to provide a functional website and our content and services. Data is transferred to third parties only where permitted by law, you have given consent, or we are obliged to do so to fulfil contractual obligations.
3. Hosting and server log files
This website is hosted on servers operated by Vercel (USA/EU). When you visit the site, technically necessary connection data is processed.
Provider: Vercel Inc., 440 N Barranca Ave #4133, Covina, CA 91723, USA
Provider's privacy policy: https://vercel.com/legal/privacy-policy
When you access the website, the hosting provider automatically collects information in server log files transmitted by your browser. This may include in particular:
- IP address
- date and time of the request
- URL accessed
- referrer URL
- browser type and version
- operating system used
Purpose: ensuring the technical operation, stability, and security of the website.
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in a secure and functional website).
Retention period:data is deleted once it is no longer required for the purpose for which it was collected; details are set out in the hosting provider's privacy policy.
Where data is transferred to third countries (e.g. the USA), this is done on the basis of appropriate safeguards pursuant to Art. 46 GDPR (e.g. EU Standard Contractual Clauses), insofar as the provider uses them.
4. Contact form
If you send us enquiries via the contact form, the data you enter (name, e-mail address, subject, message) is processed to handle your request.
Purpose: processing and responding to your enquiry.
Legal basis: Art. 6(1)(b) GDPR (pre-contractual or contractual measures) or Art. 6(1)(f) GDPR (legitimate interest in communicating with website visitors), depending on the nature of your enquiry.
Retention period: we store your enquiry only for as long as necessary to process it or as required by statutory retention periods.
Messages sent via the contact form are delivered by e-mail through Strato SMTP (Germany) using the website operator's mailbox.
Provider: Strato AG
Privacy policy: https://www.strato.de/datenschutz/
Data is transmitted only when you actively submit the form. If you do not enter any data, no contact details are processed.
5. Local storage (theme preference)
This website lets you choose between light and dark display modes. Your preference is stored in your browser's local storage (localStorage) so that your chosen display is retained on future visits.
Data processed:theme preference (e.g. "light", "dark", or "system").
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in a user-friendly website).
Retention period:until you clear your browser's local storage or change the setting.
No cookies are set for analytics or marketing purposes in connection with this feature.
6. SSL/TLS encryption
For security reasons and to protect the transmission of confidential content, this site uses SSL/TLS encryption. You can recognise an encrypted connection by the fact that the browser address bar changes from "http://" to "https://" and by the lock icon in your browser.
7. Web analytics (Umami)
This website uses the self-hosted, cookieless analytics software Umami to measure page views in aggregate. No marketing profiles are created.
Umami runs on infrastructure operated by Armin Jelešković (Germany (homelab, self-hosted)). Requests are proxied through this website at /umami so your browser communicates with our domain only; the VPS forwards analytics data to the self-hosted Umami instance.
Umami is used in cookieless mode: it does not set analytics cookies and does not use local storage for visitor tracking. Your theme preference (section 5) is unrelated and stored separately.
Data processed: page URL; referrer URL; browser type and version; operating system and device type; country/region (derived from IP; IP is not stored).
Purpose: understanding how the website is used in aggregate so we can improve content and structure.
Legal basis: Art. 6(1)(f) GDPR (legitimate interest in non-invasive, privacy-oriented website statistics).
Retention period: according to the Umami instance configuration (typically up to 24 months).
Further information about Umami: https://umami.is/privacy
Your usage behaviour is not evaluated for marketing profiling purposes.
8. Your rights
You have the following rights regarding your personal data:
- Access (Art. 15 GDPR)
- Rectification (Art. 16 GDPR)
- Erasure (Art. 17 GDPR)
- Restriction of processing (Art. 18 GDPR)
- Data portability (Art. 20 GDPR)
- Objection to processing (Art. 21 GDPR)
- Withdrawal of consent (Art. 7(3) GDPR) with effect for the future
To exercise your rights, an informal message to hello@armin.ninja is sufficient.
You also have the right to lodge a complaint with a data protection supervisory authority regarding the processing of your personal data (Art. 77 GDPR). The competent authority is generally that of your usual place of residence, your place of work, or the place of the alleged infringement.
9. Obligation to provide data
Providing personal data via the contact form is neither legally nor contractually required. However, without this data we cannot process your enquiry.
10. Changes to this privacy policy
We reserve the right to amend this privacy policy so that it always complies with current legal requirements or reflects changes to our services. The current version applies on each subsequent visit.
Provider identification: Imprint