Managing cookie consent has become one of the most tedious tasks when launching a new website. Until recently, the only realistic options were third-party services like Cookiebot or Usercentrics, which often come with monthly fees, complex integrations, or questionable data transfers to US servers. After repeatedly encountering these pain points for client projects, one development team decided to stop searching and start building their own solution.
Introducing Enjyn Cookie Widget: a self-hosted consent engine
The result is Enjyn Cookie Widget, a lightweight, self-hosted consent tool designed to be embedded with a single line of code:
<script src=" async></script>As soon as the script loads, the banner appears on first pageview. More importantly, the widget doesn’t just hide scripts—it prevents them from executing until consent is given, thanks to a real script blocker that uses type="text/plain" for deferred loading.
Key features at a glance
- Automatic detection and blocking of roughly fifty common trackers, including wildcard matching for future-proof coverage
- True script blocking via plain-text type switching, not visual hiding or CSS overrides
- Nine pre-designed themes, including a glass-morphism variant, all fully customizable via live editor
- Compact banner mode with an inline expandable privacy policy section for better readability
- Anonymized consent logging that satisfies GDPR Article 7’s documentation requirement without storing personal data
- Automatic language switching between German and English based on browser settings
- Mobile-first bottom-sheet layout with inner scrolling to avoid layout shifts on small screens
How the tool meets core GDPR requirements
European privacy law doesn’t just ask for a banner—it demands active consent, granular control, and proof of acceptance. Enjyn Cookie Widget addresses each requirement directly:
- Active consent: scripts remain inactive until the user clicks "Accept" or a specific category
- Equal reject option: the "Only necessary" toggle is as prominent as the "Accept all" button
- Granular selection: toggle switches let users enable or disable individual tracking categories
- Continuous revocation: users can reopen the banner via an on-page button or the
data-enjyn-openattribute - Proof of consent: the server logs an anonymized pseudo-ID without storing IP addresses or personal identifiers
Three ways to configure the widget
For projects that need more control than the defaults, the team offers three configuration methods. The first uses a dedicated JavaScript object to set site name, colors, position, and privacy policy link:
<script>
window.EnjynCookie = {
site_name: "My Website",
primary: "#2563eb",
position: "bottom-right",
privacy_url: "/privacy-policy"
};
</script>
<script src=" async></script>A simpler approach relies on HTML data attributes for quick setups:
<script src="
data-primary="#16a34a"
data-position="bottom-center"
data-privacy-url="/privacy-policy"
async></script>For CMS environments, URL parameters provide the fastest integration path:
<script src=" async></script>Why give it away for free?
The team already runs the infrastructure for their own client projects, so offering the widget as a free public service didn’t require additional overhead. Charging for a tool they would use anyway felt counterproductive, so they open-sourced the codebase and documentation instead.
For most websites, the free tier covers all essential needs. Teams that require custom themes, dedicated hosting, or advanced integrations can reach out for tailored arrangements. The full configuration guide with examples and API reference is available in the project’s documentation portal.
Looking ahead, the developers plan to expand tracker definitions, add more theme presets, and improve accessibility scores across all variants. The goal remains clear: provide a no-cost, GDPR-first consent solution that keeps websites fast, compliant, and user-friendly from day one.
AI summary
Avrupa Birliği’nin veri gizliliği kuralları için hazırlanan Enjyn Cookie Widget, ücretsiz ve DSGVO uyumlu bir çerez onay aracı sunuyor. Tek satır kodla entegrasyon mümkün.