Three products that had to exist before they were paid for.
Every one of these started as an itch in client work: a consent banner that cost more
than the site it sat on, a visitor counter that dragged half a megabyte behind it, an
address field that wanted a real mailbox for a single download. They run in production,
they are free to use, and they are maintained by one person.
A complete consent management platform that does not ask for a
credit card, a trial period, or a per-domain fee.
Consent tooling became a subscription business while the underlying job stayed the
same: set default signals before any tag fires, block what has not been agreed to,
and keep a record that survives an audit. consented.eu does exactly that — hosted
for free, or installed on your own infrastructure from the same source tree.
What it does
Four banner layouts — bottom banner, top banner, modal and slide-in, each
with a second layer listing categories, services and cookie tables.
Script blocking that starts early — declarative via
type="text/plain", plus pattern-based blocking through a
MutationObserver that runs inside the stub, before the runtime loads.
Google Consent Mode v2 — defaults are set in the stub ahead of GTM; the
update follows the decision, mapped category by category to signal.
Append-only consent log — timestamp, configuration version, language and
an HMAC-pseudonymised IP. A change never overwrites; it appends.
Design editor with a conscience — colours, radii, layout and custom CSS
with a sandboxed live preview and automatic WCAG contrast checking.
Versioned publishing — every release freezes the configuration as an
immutable snapshot, so it stays traceable which visitor saw which version.
Under the hood
Rendering
Shadow DOM, fully keyboard operable, no styling bleed into the host page.
Languages
32 in the catalogue, complete texts for German and English, with a fallback
chain across browser language, html lang and site default.
Reporting
Consent rates by domain, language, country and layout over time; pseudonymous
export as CSV or JSON — IP only as HMAC, page URL only as SHA-256.
Trust boundary
Domain verification by DNS TXT record or file upload; unverified domains are
restricted at delivery time.
Honesty
The feature page separates what is implemented from what is planned. A
capability is only listed above the line once it actually ships.
The preview on the start page is not a mock-up — it runs the same
cmp.js that ships to a customer site, so layout, theme and
language can be tried out before signing up for anything.
consented.eu/self-hosting
Same source tree, your datacentre. The hosted service exists for
convenience, not as a lock-in.
Visitor counters that weigh under a kilobyte and set no cookies —
pick a design, copy the snippet, done.
The visitor counter is the oldest widget on the web and most surviving ones now drag
a tracking stack behind them. Stats4U keeps the original bargain: a small image, a
number that goes up, and statistics you can look at — without an account, without
consent plumbing, and without a payload that outweighs the page it sits on.
What it does
Dozens of designs — classic odometers, modern SVGs, and animated variants
that build themselves up, overshoot and settle.
Build your own — shape and colours chosen freely, with the preview
updating as you go, then copy the generated code.
Real-time figures — today, yesterday and the full history, with bounce
rate and average visit duration.
Active-tab detection — the system distinguishes a visitor actually
reading the page from one who left it open in a background tab.
Geolocation that is actually shown — animated globes and regional maps
for several countries, plus a flag-counter wizard in cubic, horizontal and
vertical styles.
Device and technology breakdown — browsers, screen resolutions and
hardware classes, all without a cookie banner in front of them.
Under the hood
Payload
Under 1 KB on the visitor side. No cookies are set, so no consent layer is
required for the counter itself.
Onboarding
No registration. A counter number is issued, the snippet is copied, and the
counter starts on the next page view.
Reach
Interface in ten languages — English, German, Polish, Spanish, French,
Italian, Portuguese, Russian, Chinese and Japanese.
Support
A contact form with reCAPTCHA that loads only when the form is
opened — the anti-abuse script is not on every page by default.
SVGCookielessReal-timeGeolocationi18n × 10< 1 KB
stats4u.net
Three steps on one page: choose a design, adjust it, copy the code.
The counter examples on the right are live renderings, not images.
stats4u.net/about
What the counter records, written out — and what it deliberately
does not.
An e-mail address without an account — think up a name, read what
arrives, walk away.
Sign-ups, downloads and confirmation mails routinely ask for an address that will
never be used again. getSend hands one over immediately: no registration, no
password, no payment details. Unlike most throwaway services it also sends, replies
and forwards, and carries attachments in both directions.
What it does
Instant address — pick any name at @getsend.xyz and the
mailbox exists on the spot; nothing to confirm, nothing to install.
Mail arrives on its own — the inbox updates without a reload and
announces new messages with a sound.
Not read-only — reply to a message, forward a single one, and send
attachments as well as receive them.
Switch at will — move to another address whenever you like, or simply
abandon the one you used.
Programmatic access — an API for automated sign-up flows and test
harnesses that need a fresh address per run.
Three interface languages — German, English and Polish, switchable in
the header.
The honest part
No password, by design
A mailbox here has no owner. Anyone who knows — or guesses — the address can
read what arrives in it. The service says so on its own start page rather
than burying it in the terms.
What it is for
Registrations, downloads, one-off confirmations. Neither the sender nor the
site you sign up with receives an address of your own.
What it is not for
Anything you would mind a stranger reading: password resets, invoices,
account recovery. Use a real mailbox for those.
SMTPPush inboxAttachmentsREST APIDE · EN · PL
getsend.xyz
The entire onboarding is one field and one button. Everything below
the fold explains what the service will and will not do for you.
getsend.xyz · Deutsch
Same page, German interface. The language switch is in the header,
not hidden in a footer.
These three came out of consulting work on tracking, server-side analytics and
privacy-first architecture. If something in that neighbourhood is giving you trouble,
the blog has the long-form version and the
toolbox has a bunch of small tools that solve one thing each.