Skip to content

Privacy Policy

This site is a static personal / consulting website operated by Martin Kleinberger (Co. Cork, Ireland). It runs no advertising, no cross-site tracking, and no cookie-based analytics. Traffic is measured only in aggregate via Cloudflare Web Analytics (cookieless, no client-side storage, no personal data — see “Third parties” below). The only processing that identifies you is the optional sign-in and the contact form, both described below, plus standard web-server and CDN access logs.

Last updated: 6 November 2026

Signing in

Sign-in is entirely optional — the site is fully usable without an account. If you choose to sign in, you're taken to auth.kleinbem.dev, a self-hosted identity service (Authentik) that I operate on my own infrastructure, using the industry-standard OpenID Connect protocol. Two ways to sign in are offered:

  • Email and password — created and verified entirely on auth.kleinbem.dev. No password is ever seen or stored by kleinbem.dev itself — this site never receives it.
  • Google — you authenticate directly with Google; auth.kleinbem.dev never sees your Google password, only the basic profile info Google shares back (see “Third parties” below). No other social providers are currently offered.

What is stored

  • On auth.kleinbem.dev (not on kleinbem.dev itself): your name and email address, plus — for email/password sign-in only — a password hash. Passwords are never stored in plain text; the hash cannot be reversed to recover the original password. Signing in with Google creates no password at all.
  • On kleinbem.dev, once you've signed in: a session cookie containing your name, email address and the random account identifier auth.kleinbem.dev assigned you, plus when the session was issued and when it expires. It is cryptographically signed so it can't be altered. No password, and nothing else from auth.kleinbem.dev, ever reaches kleinbem.dev.

Purpose and legal basis

This data is used solely to authenticate you and keep you signed in on kleinbem.dev. The legal basis is your consent, given when you choose to sign in (GDPR Art. 6(1)(a)), and the performance of providing the account feature you requested.

Cookies

kleinbem.dev sets cookies only when you click “sign in”:

  • A short-lived sign-in cookie, set when you start signing in. It holds random values that tie the reply from auth.kleinbem.dev to your browser and the page on this site to return you to, expires after ten minutes, and is deleted as soon as sign-in finishes.
  • The session cookie described above, set once you're signed in, valid for up to 30 days, and removed when you sign out.

There are no advertising or tracking cookies, and no cookies at all unless you start signing in. These cookies don't need a consent banner: they're strictly necessary for a feature you explicitly asked for by clicking “sign in”, which is exempt from cookie-consent requirements under the ePrivacy Directive (Art. 5(3)). They're never used for advertising, tracking, or analytics.

Contact form

If you use the contact form, the name, email address and message you enter are sent as an email to Martin Kleinberger's mailbox, through the email delivery service Resend (see “Third parties” below). They're used only to read and answer your message. kleinbem.dev itself stores nothing from the form.

The legal basis is my legitimate interest in answering enquiries (GDPR Art. 6(1)(f)) or, for business enquiries, taking steps at your request before entering into a contract (Art. 6(1)(b)). Messages are kept in my mailbox as long as needed to answer and follow up, at most 2 years, and deleted earlier on request. Resend keeps its own copy of sent emails and their logs for 30 days.

Third parties

Google
Used only as an identity provider if you choose to sign in with Google — auth.kleinbem.dev requests your basic profile (name, email) from Google, nothing more. Google's handling of your data on its own side is governed by Google's own privacy policy.
Cloudflare
CDN and reverse proxy. Access logs record technical data including IP addresses, processed on a legitimate-interests basis to deliver and secure the site, and retained only briefly. Also provides Web Analytics: an aggregate traffic measure (page views, referrers, countries, load performance) that sets no cookies, stores nothing on your device, and does not build a profile of you or track you across sites. And Turnstile: a bot-check on the contact form, which briefly processes some technical signals from your browser (not a CAPTCHA image puzzle) to tell human visitors from automated traffic — see Cloudflare's Turnstile privacy policy.
Resend
Delivers contact-form messages as email. It receives the name, email address and message you submit, and nothing else from this site. Resend stores this data in the United States; the transfer is covered by the EU Standard Contractual Clauses in Resend's data processing agreement and by Resend's certification under the EU-U.S. Data Privacy Framework. See Resend's privacy policy.

Your sign-in data is not sold, rented, or shared with advertisers, and is not used for profiling or automated decision-making.

Google Drive access (backup tool)

The Google OAuth app named kleinbem.dev is also used by Martin Kleinberger's own infrastructure to store off-site backups in his own Google Drive account, via the open-source backup tool rclone. It is not offered to visitors and is never used with anyone else's account.

  • It requests only the drive.file scope: access to files the app itself created, and nothing else in that Drive.
  • Everything it uploads is encrypted before it leaves the originating machine (restic / age); Google stores only ciphertext.
  • No Google user data is shared with, sold to, or transferred to any third party, and none is used for advertising, analytics, or training AI/ML models. Its use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.

Retention and your rights

Account data is kept until you ask for it to be deleted; expired sessions are removed automatically. Contact-form messages are kept as described under “Contact form” above. To delete your account and associated data, or to exercise your rights of access, rectification, erasure, portability, or objection under the GDPR, email martin.kleinberger@kleinbem.dev. You may also lodge a complaint with the Irish Data Protection Commission (dataprotection.ie).

This policy may be updated; material changes will be reflected in the “last updated” date above. See also the Legal Notice. Not legal advice.