Help
RSS
API
Feed
Maltego
Contact
Domain > broodjemaker.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-09
104.21.85.86
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Mon, 09 Feb 2026 06:04:01 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: max-age0, private, must-revalidateLink: /assets/application-3f2be5c1.css>; relpreload; asstyle; nopush,/assets/tailwind-4778d7bd.css>; relpreload; asstyle; nopushNel: {report_to:heroku-nel,response_headers:Via,max_age:3600,success_fraction:0.01,failure_fraction:0.1}Referrer-Policy: strict-origin-when-cross-originReport-To: {group:heroku-nel,endpoints:{url:https://nel.heroku.com/reports?s0Tnjkb7lxavYj971Xdl60A016LpPnhAaYFTTdG6aj9Y%3D\u0026sidc4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts1770617040},max_age:3600}Reporting-Endpoints: heroku-nelhttps://nel.heroku.com/reports?s0Tnjkb7lxavYj971Xdl60A016LpPnhAaYFTTdG6aj9Y%3D&sidc4c9725f-1ab0-44d8-820f-430df2718e11&ts1770617040Server: cloudflareSet-Cookie: _broodjemaker_com_sessionYrxr3ttYWxOrCqhBMIzp%2FpBuvAAX4BwSsNXS4%2BwA%2FYtwm8Uo0B2Ujj0PA6pB40N5NrHqqylb2rZfV6KvnRQ2qqrFdk85bbefl76E9M467hdVEEbupCgzjtJKcPQ3WjVOYvld9A5%2Fd40VmZT9yR%2B0XCafFMkt%2BFzMPG3pcctPBhLUdh1CIehQ%2BNHRphLUffnxAZLXWa7xCi7mMTXegHY%2FwEFJiIbiXou1rNmTt78wNfnChktdzCOC13r%2Bycuik6BCXKjgtmiXuB7mg9g1klqYiAOxq29RgefUomQ%2FrmfG6D7F--Lk%2BZGihfPRuo%2BLZD--vfmhKXDbzkAg50AFkcz4Qw%3D%3D; path/; httponly; samesitelaxVary: AcceptVia: 1.1 heroku-routerX-Content-Type-Options: nosniffX-Frame-Options: SAMEORIGINX-Permitted-Cross-Domain-Policies: noneX-Request-Id: d8742cfc-a453-4bad-b6f0-e73f37af86dbX-Runtime: 0.133582X-Xss-Protection: 0cf-cache-status: DYNAMICCF-RAY: 9cb12ab89edeef83-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langnl data-themebroodjemaker> head> title>Broodjemaker - AI Sandwich Inspiration/title>meta namedescription contentTransform your ingredients into delicious sandwich ideas with AI. Get creative suggestions for breakfast, lunch, or dinner sandwiches tailored to what you have on hand.>meta namekeywords contentsandwich inspiration, ai sandwich, recipe generator, sandwich ideas, ai cooking, food inspiration, recipe ai, sandwich maker>link relcanonical hrefhttp://broodjemaker.com/>meta propertyog:title contentBroodjemaker - AI Sandwich Inspiration>meta propertyog:description contentTransform your ingredients into delicious sandwich ideas with AI>meta propertyog:type contentwebsite>meta propertyog:url contenthttp://broodjemaker.com/>meta propertyog:image content/assets/logo-socials-a79281bd.png>meta propertyog:site_name contentBroodjemaker>meta nametwitter:card contentsummary_large_image>meta nametwitter:site content@broodjemaker>meta nametwitter:title contentAI Sandwich Inspiration>meta nametwitter:description contentTransform your ingredients into delicious sandwich ideas with AI. Get creative suggestions for breakfast, lunch, or dinner sandwiches tailored to what you have on hand.>meta nametwitter:image content/assets/logo-socials-a79281bd.png> !-- Language alternate links for multi-language SEO --> link relalternate hreflangnl hrefhttp://broodjemaker.com/>link relalternate hreflangen hrefhttp://broodjemaker.com/en/>link relalternate hreflangx-default hrefhttp://broodjemaker.com/> meta nameviewport contentwidthdevice-width,initial-scale1,viewport-fitcover> meta nametheme-color content#f97316> !-- Apple Touch Icons --> link relapple-touch-icon href/apple-touch-icon-180.png> !-- Favicons --> link relicon typeimage/png sizes48x48 href/favicon-48.png> link relicon typeimage/png sizes32x32 href/favicon-32.png> link relicon typeimage/png sizes16x16 href/favicon-16.png> meta namecsrf-param contentauthenticity_token />meta namecsrf-token contentTSuFMAdaUSNAMwEHKVmC8JdLviwBEZbLOyQk1aC12WXiz_AySH95qOxeOXvFLFwFNieRLXhS-XFo0-sEcpaz9Q /> !-- Performance optimizations --> link relpreconnect hrefhttps://api.anthropic.com> link reldns-prefetch hrefhttps://api.anthropic.com> link relstylesheet href/assets/application-3f2be5c1.css data-turbo-trackreload />link relstylesheet href/assets/tailwind-4778d7bd.css data-turbo-trackreload /> script typeimportmap data-turbo-trackreload>{ imports: { application: /assets/application-bfcdf840.js, @hotwired/turbo-rails: /assets/turbo.min-ad2c7b86.js, @hotwired/stimulus: /assets/stimulus.min-4b1e420e.js, @hotwired/stimulus-loading: /assets/stimulus-loading-1fc53fe7.js, controllers/application: /assets/controllers/application-3affb389.js, controllers/hello_controller: /assets/controllers/hello_controller-708796bd.js, controllers: /assets/controllers/index-ee64e1f1.js, controllers/share_modal_controller: /assets/controllers/share_modal_controller-83f9799a.js }}/script>link relmodulepreload href/assets/application-bfcdf840.js>link relmodulepreload href/assets/turbo.min-ad2c7b86.js>link relmodulepreload href/assets/stimulus.min-4b1e420e.js>link relmodulepreload href/assets/stimulus-loading-1fc53fe7.js>link relmodulepreload href/assets/controllers/application-3affb389.js>link relmodulepreload href/assets/controllers/hello_controller-708796bd.js>link relmodulepreload href/assets/controllers/index-ee64e1f1.js>link relmodulepreload href/assets/controllers/share_modal_controller-83f9799a.js>script typemodule>import application/script> !-- Structured Data --> script typeapplication/ld+json> {@context:https://schema.org,@type:WebApplication,name:Broodjemaker,alternateName:AI Sandwich Inspiration,url:http://broodjemaker.com/nl,description:Get creative AI-powered sandwich inspiration from your ingredients. Transform everyday ingredients into delicious sandwich ideas with Claude AI.,applicationCategory:FoodApplication,operatingSystem:Any,offers:{@type:Offer,price:0,priceCurrency:USD},author:{@type:Organization,name:Broodjemaker},aggregateRating:{@type:AggregateRating,ratingValue:4.8,ratingCount:127,bestRating:5,worstRating:1}} /script> script typeapplication/ld+json> {@context:https://schema.org,@type:Organization,name:Broodjemaker,url:http://broodjemaker.com/nl,logo:http://broodjemaker.com/assets/logo-8308fb70.png,description:AI-powered sandwich inspiration platform,sameAs:} /script> /head> body classmin-h-screen bg-gradient-to-br from-orange-50 via-white to-amber-50 flex flex-col> turbo-cable-stream-source channelTurbo::StreamsChannel signed-stream-nameInNhbmR3aWNoX3Jlc3VsdCI--59a7476306be8c08d565f991ce3e055f9bd40789bbc98fdc17fc9801a31ada9e>/turbo-cable-stream-source> nav classbg-white/80 backdrop-blur-md border-b border-gray-200/50 sticky top-0 z-50 shadow-sm> div classmax-w-5xl mx-auto px-6 py-4> div classflex items-center justify-between> a href/nl classflex items-center gap-3 group transition-transform hover:scale-105> img altBroodjemaker classw-10 h-10 src/assets/favicon-48-e94367ea.png /> span classtext-2xl font-bold bg-gradient-to-r from-orange-600 to-amber-600 bg-clip-text text-transparent> Broodjemaker /span> /a> div classflex items-center gap-4> !-- Social Proof / Trust Badge --> p classtext-sm text-gray-500 hidden sm:block> ✨ Aangedreven door AI /p> !-- Language Switcher --> div classrelative group> button classflex items-center gap-2 px-3 py-2 text-sm font-medium text-gray-700 hover:text-orange-600 transition-colors rounded-lg hover:bg-orange-50> span classtext-lg>🇳🇱/span> span classhidden sm:inline>Nederlands/span> svg classw-4 h-4 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7 /> /svg> /button> div classhidden group-hover:block absolute right-0 w-40 bg-white rounded-lg shadow-lg border border-gray-200 py-2 z-50> a classblock px-4 py-2 text-sm text-gray-700 hover:bg-orange-50 hover:text-orange-600 transition-colors href/en> span classinline-flex items-center gap-2> span>🇬🇧/span> span>English/span> /span>/a> /div> /div> /div> /div> /div> /nav> main classflex-1 flex items-center justify-center px-6 py-8> div classw-full max-w-2xl> div idsandwich_flow classtext-center> !-- Hero Section --> div classbg-white rounded-2xl shadow-xl shadow-orange-100/50 p-6 sm:p-12 border border-gray-100> !-- Icon --> div classinline-flex items-center justify-center w-16 h-16 sm:w-20 sm:h-20 bg-gradient-to-br from-orange-500 to-amber-500 rounded-2xl mb-4 sm:mb-6 shadow-lg shadow-orange-200/50> span classtext-3xl sm:text-4xl>🥪/span> /div> !-- Heading --> h1 classtext-3xl sm:text-5xl font-bold text-gray-900 mb-3 sm:mb-4 tracking-tight> Maak Je Perfecte span classbg-gradient-to-r from-orange-600 to-amber-600 bg-clip-text text-transparent> Broodje /span> /h1> !-- Subheading --> h2 classtext-base sm:text-xl text-gray-600 mb-6 sm:mb-8 max-w-lg mx-auto leading-relaxed font-normal px-2> Stuur me een foto van wat je hebt en ik geef je lekkere inspiratie /h2> !-- CTA Buttons --> div classflex flex-col sm:flex-row gap-3 sm:gap-4 justify-center items-stretch w-full max-w-md mx-auto px-2> button onclickdocument.getElementById(image_upload).click() typebutton classflex-1 inline-flex items-center justify-center gap-2 sm:gap-3 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 text-white font-semibold px-4 sm:px-8 py-3 sm:py-4 rounded-xl shadow-lg shadow-orange-200/50 transition-all duration-200 hover:shadow-xl hover:shadow-orange-300/50 hover:scale-105 cursor-pointer text-sm sm:text-base> svg classw-5 h-5 sm:w-6 sm:h-6 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12 /> /svg> Upload Foto /button> button onclickdocument.getElementById(camera_capture).click() typebutton classflex-1 inline-flex items-center justify-center gap-2 sm:gap-3 bg-white hover:bg-gray-50 text-gray-900 font-semibold px-4 sm:px-8 py-3 sm:py-4 rounded-xl border-2 border-gray-300 hover:border-orange-400 shadow-lg transition-all duration-200 hover:shadow-xl hover:scale-105 cursor-pointer text-sm sm:text-base> svg classw-5 h-5 sm:w-6 sm:h-6 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z /> path stroke-linecapround stroke-linejoinround stroke-width2 dM15 13a3 3 0 11-6 0 3 3 0 016 0z /> /svg> Maak Foto /button> /div> form data-turbotrue idupload_form novalidatenovalidate classsimple_form sandwich_request enctypemultipart/form-data action/nl/sandwich_requests accept-charsetUTF-8 methodpost>input typehidden nameauthenticity_token valuekFqEaCLQvuNB4x8W4HSMEril_UvVB59OdOVOVZmnVbJf-E2onnQgQh3nHv3lWTXiPemuTOiewLsRKCU5STeutA /> input idimage_upload acceptimage/* onchangehandleImageSelected(this) classfile required hidden typefile namesandwich_requestimage /> input idcamera_capture acceptimage/* captureenvironment onchangehandleImageSelected(this) classfile required hidden typefile namesandwich_requestimage /> div classinput hidden sandwich_request_creativity_mode>input idselected_mode valueclassic classhidden typehidden namesandwich_requestcreativity_mode />/div> !-- Image Preview Section --> div idimage_preview_section classhidden mt-6> div classmb-4> img idimage_preview src altGeselecteerde afbeelding classmx-auto rounded-lg shadow-md max-h-64 object-contain> /div> p classtext-sm text-gray-600 mb-4>Afbeelding geselecteerd! Kies je stijl hieronder en klik op "Genereer Broodje Ideeën"/p> /div> !-- Mode Selector --> div classmt-8 sm:mt-10 pt-8 border-t border-gray-200> h3 classtext-lg sm:text-xl font-semibold text-gray-900 mb-4 sm:mb-6> Kies Je Broodje Stijl /h3> div classgrid grid-cols-2 gap-3 sm:gap-4 max-w-md mx-auto px-2> !-- Classic Mode (Default) --> button typebutton onclickselectMode(classic) idmode_classic classmode-button p-4 sm:p-6 border-2 border-orange-500 bg-orange-50 rounded-xl transition-all cursor-pointer shadow-md> div classtext-3xl sm:text-4xl mb-2 sm:mb-3>🥪/div> h4 classfont-bold text-gray-900 text-sm sm:text-base>Klassiek/h4> /button> !-- Dutch Way Mode --> button typebutton onclickselectMode(dutch_way) idmode_dutch_way classmode-button p-4 sm:p-6 border-2 border-gray-300 bg-white rounded-xl hover:border-orange-400 hover:bg-orange-50 transition-all cursor-pointer> div classtext-3xl sm:text-4xl mb-2 sm:mb-3>🇳🇱/div> h4 classfont-bold text-gray-900 text-sm sm:text-base>Dutch way/h4> /button> /div> !-- Submit Button --> div idsubmit_button_section classhidden mt-6 px-2> input typesubmit namecommit valueGenereer Broodje Ideeën onclickscrollToTop() classbtn w-full inline-flex items-center justify-center gap-2 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 text-white font-semibold px-6 py-3 rounded-xl shadow-lg shadow-orange-200/50 transition-all duration-200 hover:shadow-xl hover:shadow-orange-300/50 hover:scale-105 data-disable-withGenereer Broodje Ideeën /> /div> /div>/form> script> function handleImageSelected(input) { if (input.files && input.files0) { const reader new FileReader(); reader.onload function(e) { // Show preview section document.getElementById(image_preview_section).classList.remove(hidden); // Show submit button section document.getElementById(submit_button_section).classList.remove(hidden); // Set preview image document.getElementById(image_preview).src e.target.result; // Scroll to preview document.getElementById(image_preview_section).scrollIntoView({ behavior: smooth, block: center }); }; reader.readAsDataURL(input.files0); } } function selectMode(mode) { // Update hidden field document.getElementById(selected_mode).value mode; // Update button styles const buttons document.querySelectorAll(.mode-button); buttons.forEach(btn > { btn.classList.remove(border-orange-500, bg-orange-50, shadow-md); btn.classList.add(border-gray-300, bg-white); }); // Highlight selected button const selectedBtn document.getElementById(mode_ + mode); selectedBtn.classList.remove(border-gray-300, bg-white); selectedBtn.classList.add(border-orange-500, bg-orange-50, shadow-md); } function scrollToTop() { window.scrollTo({ top: 0, behavior: smooth }); } /script> !-- Gallery Slider --> !-- Features --> section classgrid grid-cols-1 md:grid-cols-3 gap-6 mt-8 sm:mt-12 pt-8 sm:pt-12 border-t border-gray-200 aria-labelFeatures> article classflex flex-col items-center text-center> div classw-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelBike>🚲/span> /div> h3 classfont-semibold text-gray-900 mb-1>Snel & Makkelijk/h3> p classtext-sm text-gray-600>Sneller dan klagen over NS-vertragingen/p> /article> article classflex flex-col items-center text-center> div classw-12 h-12 bg-amber-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelBrain>🧠/span> /div> h3 classfont-semibold text-gray-900 mb-1>AI-Aangedreven/h3> p classtext-sm text-gray-600>Getraind op miljoenen broodjes (en wat spijt)/p> /article> article classflex flex-col items-center text-center> div classw-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelDutch flag>🧀/span> /div> h3 classfont-semibold text-gray-900 mb-1>Nederlandse Stijl/h3> p classtext-sm text-gray-600>Van kaas tot chaos/p> /article> /section> /div>/div> /div> /main> footer classbg-white/50 backdrop-blur-sm border-t border-gray-200/50 py-8 mt-auto> div classmax-w-5xl mx-auto px-6> div classgrid grid-cols-1 md:grid-cols-3 gap-8 mb-6> div classtext-center md:text-left> h3 classtext-gray-900 font-bold text-lg mb-2>Broodjemaker/h3> p classtext-gray-600 text-sm> AI-aangedreven broodje inspiratie voor je volgende lekkere broodje. /p> /div> nav classtext-center> h4 classtext-gray-900 font-semibold text-sm mb-2>Meer Informatie/h4> ul classspace-y-1 text-sm> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/about>Over Ons/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/how-it-works>Hoe Het Werkt/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/faq>Veelgestelde Vragen/a>/li> li classpt-2> a classinline-flex items-center gap-1 text-orange-600 hover:text-orange-700 font-bold transition-colors animate-pulse href/nl/meals> span>✨ Alle Maaltijden/span> span classtext-xs bg-orange-500 text-white px-2 py-0.5 rounded-full>NIEUW/span>/a> /li> /ul> /nav> nav classtext-center md:text-right> h4 classtext-gray-900 font-semibold text-sm mb-2>Juridisch/h4> ul classspace-y-1 text-sm> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/privacy>Privacybeleid/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/cookie-policy>Cookiebeleid/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/terms>Gebruiksvoorwaarden/a>/li> li> button onclickshowCookiePreferences() classtext-gray-600 hover:text-orange-600 transition-colors> Cookie Voorkeuren /button> /li> li> script typetext/javascript srchttps://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js data-namebmc-button data-slugcodeandwaves data-color#FFDD00 data-emoji☕ data-fontCookie data-textBuy me a broodje data-outline-color#000000 data-font-color#000000 data-coffee-color#ffffff >/script> /li> /ul> /nav> /div> !-- Footer --> footer classtext-center pt-6 border-t border-gray-200 text-gray-400 text-xs> © 2026 Broodjemaker. Gemaakt met ❤️ door a hrefhttps://www.codeandwaves.co target_blank relnoopener noreferrer classtext-orange-600 hover:text-orange-700 font-medium transition-colors>Code and Waves/a> /footer> /div> /footer> !-- Cookie Consent Banner --> !-- Cookie Consent Banner -->div idcookie-banner classhidden fixed bottom-0 left-0 right-0 z-50 p-4 bg-white/95 backdrop-blur-md border-t-2 border-orange-200 shadow-2xl roledialog aria-labelledbycookie-banner-title aria-describedbycookie-banner-description> div classmax-w-6xl mx-auto> div classflex flex-col md:flex-row items-start md:items-center justify-between gap-4> div classflex-1> div classflex items-start gap-3> span classtext-2xl roleimg aria-labelCookie>🍪/span> div> h3 idcookie-banner-title classtext-lg font-bold text-gray-900 mb-1> We Respecteren Je Privacy /h3> p idcookie-banner-description classtext-sm text-gray-700 mb-2> We gebruiken essentiële cookies om onze site te laten werken. Met je toestemming kunnen we ook niet-essentiële cookies gebruiken om de gebruikerservaring te verbeteren en websiteverkeer te analyseren. /p> button onclicktoggleCookieDetails() classtext-xs text-orange-600 hover:text-orange-700 font-semibold underline aria-expandedfalse aria-controlscookie-details> Meer informatie over cookies /button> /div> /div> !-- Detailed Cookie Information (Hidden by default) --> div idcookie-details classhidden mt-4 p-4 bg-orange-50 rounded-lg border border-orange-200> h4 classtext-sm font-bold text-gray-900 mb-2>Cookie Categorieën:/h4> div classspace-y-3 text-sm> div> p classfont-semibold text-gray-900> span classinline-block w-4 h-4 bg-green-500 rounded mr-2>/span> Essentiële Cookies (Altijd Actief) /p> p classtext-gray-700 ml-6> Nodig voor het functioneren van de website. Deze omvatten sessiebeheer en gebruikersidentificatie. /p> p classtext-xs text-gray-600 ml-6 mt-1> Cookies: code>_broodjemaker_com_session/code>, code>user_token/code> /p> /div> div> p classfont-semibold text-gray-900> span classinline-block w-4 h-4 bg-blue-500 rounded mr-2>/span> Analytische Cookies (Optioneel) /p> p classtext-gray-700 ml-6> Help ons begrijpen hoe bezoekers omgaan met onze website om de gebruikerservaring te verbeteren. /p> p classtext-xs text-gray-600 ml-6 mt-1> Momenteel niet actief. Wordt in de toekomst gebruikt voor Google Analytics. /p> /div> /div> div classmt-4 pt-3 border-t border-orange-300> p classtext-xs text-gray-600> Voor meer informatie, lees ons a classtext-orange-600 hover:text-orange-700 font-semibold underline href/nl/privacy>Privacybeleid/a> en a classtext-orange-600 hover:text-orange-700 font-semibold underline href/nl/cookie-policy>Cookiebeleid/a>. /p> /div> /div> /div> !-- Action Buttons --> div classflex flex-col sm:flex-row gap-3 w-full md:w-auto> button onclickacceptEssentialCookies() classbtn btn-outline btn-sm px-6 text-gray-700 border-gray-300 hover:bg-gray-100 whitespace-nowrap order-2 sm:order-1> Alleen Essentieel /button> button onclickacceptAllCookies() classbtn btn-primary btn-sm px-6 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 border-none whitespace-nowrap order-1 sm:order-2> Accepteer Alles /button> /div> /div> /div>/div>script> // Cookie Consent Management const COOKIE_CONSENT_KEY broodjemaker_cookie_consent; const CONSENT_VERSION 1.0; // Check if user has already given consent function checkCookieConsent() { const consent localStorage.getItem(COOKIE_CONSENT_KEY); if (consent) { const consentData JSON.parse(consent); // If consent version matches, hide banner if (consentData.version CONSENT_VERSION) { return true; } } // Show banner if no valid consent found document.getElementById(cookie-banner).classList.remove(hidden); return false; } // Accept all cookies function acceptAllCookies() { const consent { essential: true, analytics: true, version: CONSENT_VERSION, timestamp: new Date().toISOString() }; localStorage.setItem(COOKIE_CONSENT_KEY, JSON.stringify(consent)); hideCookieBanner(); // Initialize analytics if consent given initializeAnalytics(); } // Accept essential cookies only function acceptEssentialCookies() { const consent { essential: true, analytics: false, version: CONSENT_VERSION, timestamp: new Date().toISOString() }; localStorage.setItem(COOKIE_CONSENT_KEY, JSON.stringify(consent)); hideCookieBanner(); } // Hide cookie banner function hideCookieBanner() { const banner document.getElementById(cookie-banner); banner.style.animation slideDown 0.3s ease-out; setTimeout(() > { banner.classList.add(hidden); }, 300); } // Toggle detailed cookie information function toggleCookieDetails() { const details document.getElementById(cookie-details); const button event.target; const isHidden details.classList.contains(hidden); if (isHidden) { details.classList.remove(hidden); button.setAttribute(aria-expanded, true); button.textContent Verberg cookie details; } else { details.classList.add(hidden); button.setAttribute(aria-expanded, false); button.textContent Meer informatie over cookies; } } // Initialize analytics (placeholder for future implementation) function initializeAnalytics() { const consent JSON.parse(localStorage.getItem(COOKIE_CONSENT_KEY) || {}); if (consent.analytics) { // TODO: Initialize Google Analytics or other analytics here console.log(Analytics consent granted - ready to initialize tracking); // Example for future Google Analytics implementation: // window.dataLayer window.dataLayer || ; // function gtag(){dataLayer.push(arguments);} // gtag(js, new Date()); // gtag(config, GA_MEASUREMENT_ID); } } // Check consent status on page load document.addEventListener(DOMContentLoaded, function() { checkCookieConsent(); }); // Add slide down animation const style document.createElement(style); style.textContent ` @keyframes slideDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } } `; document.head.appendChild(style);/script> script> // Global function for cookie preferences button in footer function showCookiePreferences() { localStorage.removeItem(broodjemaker_cookie_consent); window.location.reload(); } /script> /body>/html>
Port 443
HTTP/1.1 200 OKDate: Mon, 09 Feb 2026 06:04:01 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveCache-Control: max-age0, private, must-revalidatelink: /assets/application-3f2be5c1.css>; relpreload; asstyle; nopush,/assets/tailwind-4778d7bd.css>; relpreload; asstyle; nopushnel: {report_to:heroku-nel,response_headers:Via,max_age:3600,success_fraction:0.01,failure_fraction:0.1}referrer-policy: strict-origin-when-cross-originreport-to: {group:heroku-nel,endpoints:{url:https://nel.heroku.com/reports?sxl9uRcLEHSO4p%2BiREiQXyvZgkC%2FExVEqYBMQ83g7evE%3D\u0026sidc4c9725f-1ab0-44d8-820f-430df2718e11\u0026ts1770617041},max_age:3600}reporting-endpoints: heroku-nelhttps://nel.heroku.com/reports?sxl9uRcLEHSO4p%2BiREiQXyvZgkC%2FExVEqYBMQ83g7evE%3D&sidc4c9725f-1ab0-44d8-820f-430df2718e11&ts1770617041Server: cloudflareSet-Cookie: _broodjemaker_com_sessionLh2aP0HI4VwPZ%2FWJh%2Ft38B0%2Bli0YcWfdpJp3GxZiofoNnaks9f1e1e%2BD7tEmCdlNa3mOvM3YH09LiHo%2BLpadux%2FwBEDD0xvRkpmupBcFRfmsdGODt4%2B8T8jJP%2BiJI2janih9HdiEffISRS58L6aiFB2ATpuqnFTzJNkqAD%2BJYgRGFIzoKk35uGcB3IoOS3FgsADi86eUJEJp%2FPkM7Xnonl%2FAZB%2FSsDff81vX%2Bh9%2Fu7bwlrO3TXz%2FfbY%2BKl3KRuY3S%2FVhWMbFdLjr977hXvxgIR3E6YuLPSDt3UgvZZcB4Xsk--9fAD7gykecqbXxLw--n7hgxfovY07QoizUm6cs6g%3D%3D; path/; httponly; samesitelaxvary: Acceptvia: 2.0 heroku-routerx-content-type-options: nosniffx-frame-options: SAMEORIGINx-permitted-cross-domain-policies: nonex-request-id: 1a9f7e55-18e2-d3ae-4c8d-ef4e749ff482x-runtime: 0.009280x-xss-protection: 0cf-cache-status: DYNAMICCF-RAY: 9cb12abc59e8ef4b-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langnl data-themebroodjemaker> head> title>Broodjemaker - AI Sandwich Inspiration/title>meta namedescription contentTransform your ingredients into delicious sandwich ideas with AI. Get creative suggestions for breakfast, lunch, or dinner sandwiches tailored to what you have on hand.>meta namekeywords contentsandwich inspiration, ai sandwich, recipe generator, sandwich ideas, ai cooking, food inspiration, recipe ai, sandwich maker>link relcanonical hrefhttps://broodjemaker.com/>meta propertyog:title contentBroodjemaker - AI Sandwich Inspiration>meta propertyog:description contentTransform your ingredients into delicious sandwich ideas with AI>meta propertyog:type contentwebsite>meta propertyog:url contenthttps://broodjemaker.com/>meta propertyog:image content/assets/logo-socials-a79281bd.png>meta propertyog:site_name contentBroodjemaker>meta nametwitter:card contentsummary_large_image>meta nametwitter:site content@broodjemaker>meta nametwitter:title contentAI Sandwich Inspiration>meta nametwitter:description contentTransform your ingredients into delicious sandwich ideas with AI. Get creative suggestions for breakfast, lunch, or dinner sandwiches tailored to what you have on hand.>meta nametwitter:image content/assets/logo-socials-a79281bd.png> !-- Language alternate links for multi-language SEO --> link relalternate hreflangnl hrefhttps://broodjemaker.com/>link relalternate hreflangen hrefhttps://broodjemaker.com/en/>link relalternate hreflangx-default hrefhttps://broodjemaker.com/> meta nameviewport contentwidthdevice-width,initial-scale1,viewport-fitcover> meta nametheme-color content#f97316> !-- Apple Touch Icons --> link relapple-touch-icon href/apple-touch-icon-180.png> !-- Favicons --> link relicon typeimage/png sizes48x48 href/favicon-48.png> link relicon typeimage/png sizes32x32 href/favicon-32.png> link relicon typeimage/png sizes16x16 href/favicon-16.png> meta namecsrf-param contentauthenticity_token />meta namecsrf-token contentW27Way8GN5hjT8uQNPuP-R31Z3SnhWw9jOeuuxjpocBs-B_GYYBJzsZa1gTb22KvS-N5LmzBIxv12vXvxpUTjQ /> !-- Performance optimizations --> link relpreconnect hrefhttps://api.anthropic.com> link reldns-prefetch hrefhttps://api.anthropic.com> link relstylesheet href/assets/application-3f2be5c1.css data-turbo-trackreload />link relstylesheet href/assets/tailwind-4778d7bd.css data-turbo-trackreload /> script typeimportmap data-turbo-trackreload>{ imports: { application: /assets/application-bfcdf840.js, @hotwired/turbo-rails: /assets/turbo.min-ad2c7b86.js, @hotwired/stimulus: /assets/stimulus.min-4b1e420e.js, @hotwired/stimulus-loading: /assets/stimulus-loading-1fc53fe7.js, controllers/application: /assets/controllers/application-3affb389.js, controllers/hello_controller: /assets/controllers/hello_controller-708796bd.js, controllers: /assets/controllers/index-ee64e1f1.js, controllers/share_modal_controller: /assets/controllers/share_modal_controller-83f9799a.js }}/script>link relmodulepreload href/assets/application-bfcdf840.js>link relmodulepreload href/assets/turbo.min-ad2c7b86.js>link relmodulepreload href/assets/stimulus.min-4b1e420e.js>link relmodulepreload href/assets/stimulus-loading-1fc53fe7.js>link relmodulepreload href/assets/controllers/application-3affb389.js>link relmodulepreload href/assets/controllers/hello_controller-708796bd.js>link relmodulepreload href/assets/controllers/index-ee64e1f1.js>link relmodulepreload href/assets/controllers/share_modal_controller-83f9799a.js>script typemodule>import application/script> !-- Structured Data --> script typeapplication/ld+json> {@context:https://schema.org,@type:WebApplication,name:Broodjemaker,alternateName:AI Sandwich Inspiration,url:https://broodjemaker.com/nl,description:Get creative AI-powered sandwich inspiration from your ingredients. Transform everyday ingredients into delicious sandwich ideas with Claude AI.,applicationCategory:FoodApplication,operatingSystem:Any,offers:{@type:Offer,price:0,priceCurrency:USD},author:{@type:Organization,name:Broodjemaker},aggregateRating:{@type:AggregateRating,ratingValue:4.8,ratingCount:127,bestRating:5,worstRating:1}} /script> script typeapplication/ld+json> {@context:https://schema.org,@type:Organization,name:Broodjemaker,url:https://broodjemaker.com/nl,logo:https://broodjemaker.com/assets/logo-8308fb70.png,description:AI-powered sandwich inspiration platform,sameAs:} /script> /head> body classmin-h-screen bg-gradient-to-br from-orange-50 via-white to-amber-50 flex flex-col> turbo-cable-stream-source channelTurbo::StreamsChannel signed-stream-nameInNhbmR3aWNoX3Jlc3VsdCI--59a7476306be8c08d565f991ce3e055f9bd40789bbc98fdc17fc9801a31ada9e>/turbo-cable-stream-source> nav classbg-white/80 backdrop-blur-md border-b border-gray-200/50 sticky top-0 z-50 shadow-sm> div classmax-w-5xl mx-auto px-6 py-4> div classflex items-center justify-between> a href/nl classflex items-center gap-3 group transition-transform hover:scale-105> img altBroodjemaker classw-10 h-10 src/assets/favicon-48-e94367ea.png /> span classtext-2xl font-bold bg-gradient-to-r from-orange-600 to-amber-600 bg-clip-text text-transparent> Broodjemaker /span> /a> div classflex items-center gap-4> !-- Social Proof / Trust Badge --> p classtext-sm text-gray-500 hidden sm:block> ✨ Aangedreven door AI /p> !-- Language Switcher --> div classrelative group> button classflex items-center gap-2 px-3 py-2 text-sm font-medium text-gray-700 hover:text-orange-600 transition-colors rounded-lg hover:bg-orange-50> span classtext-lg>🇳🇱/span> span classhidden sm:inline>Nederlands/span> svg classw-4 h-4 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM19 9l-7 7-7-7 /> /svg> /button> div classhidden group-hover:block absolute right-0 w-40 bg-white rounded-lg shadow-lg border border-gray-200 py-2 z-50> a classblock px-4 py-2 text-sm text-gray-700 hover:bg-orange-50 hover:text-orange-600 transition-colors href/en> span classinline-flex items-center gap-2> span>🇬🇧/span> span>English/span> /span>/a> /div> /div> /div> /div> /div> /nav> main classflex-1 flex items-center justify-center px-6 py-8> div classw-full max-w-2xl> div idsandwich_flow classtext-center> !-- Hero Section --> div classbg-white rounded-2xl shadow-xl shadow-orange-100/50 p-6 sm:p-12 border border-gray-100> !-- Icon --> div classinline-flex items-center justify-center w-16 h-16 sm:w-20 sm:h-20 bg-gradient-to-br from-orange-500 to-amber-500 rounded-2xl mb-4 sm:mb-6 shadow-lg shadow-orange-200/50> span classtext-3xl sm:text-4xl>🥪/span> /div> !-- Heading --> h1 classtext-3xl sm:text-5xl font-bold text-gray-900 mb-3 sm:mb-4 tracking-tight> Maak Je Perfecte span classbg-gradient-to-r from-orange-600 to-amber-600 bg-clip-text text-transparent> Broodje /span> /h1> !-- Subheading --> h2 classtext-base sm:text-xl text-gray-600 mb-6 sm:mb-8 max-w-lg mx-auto leading-relaxed font-normal px-2> Stuur me een foto van wat je hebt en ik geef je lekkere inspiratie /h2> !-- CTA Buttons --> div classflex flex-col sm:flex-row gap-3 sm:gap-4 justify-center items-stretch w-full max-w-md mx-auto px-2> button onclickdocument.getElementById(image_upload).click() typebutton classflex-1 inline-flex items-center justify-center gap-2 sm:gap-3 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 text-white font-semibold px-4 sm:px-8 py-3 sm:py-4 rounded-xl shadow-lg shadow-orange-200/50 transition-all duration-200 hover:shadow-xl hover:shadow-orange-300/50 hover:scale-105 cursor-pointer text-sm sm:text-base> svg classw-5 h-5 sm:w-6 sm:h-6 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-8l-4-4m0 0L8 8m4-4v12 /> /svg> Upload Foto /button> button onclickdocument.getElementById(camera_capture).click() typebutton classflex-1 inline-flex items-center justify-center gap-2 sm:gap-3 bg-white hover:bg-gray-50 text-gray-900 font-semibold px-4 sm:px-8 py-3 sm:py-4 rounded-xl border-2 border-gray-300 hover:border-orange-400 shadow-lg transition-all duration-200 hover:shadow-xl hover:scale-105 cursor-pointer text-sm sm:text-base> svg classw-5 h-5 sm:w-6 sm:h-6 fillnone strokecurrentColor viewBox0 0 24 24> path stroke-linecapround stroke-linejoinround stroke-width2 dM3 9a2 2 0 012-2h.93a2 2 0 001.664-.89l.812-1.22A2 2 0 0110.07 4h3.86a2 2 0 011.664.89l.812 1.22A2 2 0 0018.07 7H19a2 2 0 012 2v9a2 2 0 01-2 2H5a2 2 0 01-2-2V9z /> path stroke-linecapround stroke-linejoinround stroke-width2 dM15 13a3 3 0 11-6 0 3 3 0 016 0z /> /svg> Maak Foto /button> /div> form data-turbotrue idupload_form novalidatenovalidate classsimple_form sandwich_request enctypemultipart/form-data action/nl/sandwich_requests accept-charsetUTF-8 methodpost>input typehidden nameauthenticity_token valueCD_q1pcSuWk8H-mPpzCZS9SNbpQ5VvsVJ4wSwPBU5WX9NGdw6GkkaRKodoBrFXnxtLAofzqgW_1xCjfwF_5Hpg /> input idimage_upload acceptimage/* onchangehandleImageSelected(this) classfile required hidden typefile namesandwich_requestimage /> input idcamera_capture acceptimage/* captureenvironment onchangehandleImageSelected(this) classfile required hidden typefile namesandwich_requestimage /> div classinput hidden sandwich_request_creativity_mode>input idselected_mode valueclassic classhidden typehidden namesandwich_requestcreativity_mode />/div> !-- Image Preview Section --> div idimage_preview_section classhidden mt-6> div classmb-4> img idimage_preview src altGeselecteerde afbeelding classmx-auto rounded-lg shadow-md max-h-64 object-contain> /div> p classtext-sm text-gray-600 mb-4>Afbeelding geselecteerd! Kies je stijl hieronder en klik op "Genereer Broodje Ideeën"/p> /div> !-- Mode Selector --> div classmt-8 sm:mt-10 pt-8 border-t border-gray-200> h3 classtext-lg sm:text-xl font-semibold text-gray-900 mb-4 sm:mb-6> Kies Je Broodje Stijl /h3> div classgrid grid-cols-2 gap-3 sm:gap-4 max-w-md mx-auto px-2> !-- Classic Mode (Default) --> button typebutton onclickselectMode(classic) idmode_classic classmode-button p-4 sm:p-6 border-2 border-orange-500 bg-orange-50 rounded-xl transition-all cursor-pointer shadow-md> div classtext-3xl sm:text-4xl mb-2 sm:mb-3>🥪/div> h4 classfont-bold text-gray-900 text-sm sm:text-base>Klassiek/h4> /button> !-- Dutch Way Mode --> button typebutton onclickselectMode(dutch_way) idmode_dutch_way classmode-button p-4 sm:p-6 border-2 border-gray-300 bg-white rounded-xl hover:border-orange-400 hover:bg-orange-50 transition-all cursor-pointer> div classtext-3xl sm:text-4xl mb-2 sm:mb-3>🇳🇱/div> h4 classfont-bold text-gray-900 text-sm sm:text-base>Dutch way/h4> /button> /div> !-- Submit Button --> div idsubmit_button_section classhidden mt-6 px-2> input typesubmit namecommit valueGenereer Broodje Ideeën onclickscrollToTop() classbtn w-full inline-flex items-center justify-center gap-2 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 text-white font-semibold px-6 py-3 rounded-xl shadow-lg shadow-orange-200/50 transition-all duration-200 hover:shadow-xl hover:shadow-orange-300/50 hover:scale-105 data-disable-withGenereer Broodje Ideeën /> /div> /div>/form> script> function handleImageSelected(input) { if (input.files && input.files0) { const reader new FileReader(); reader.onload function(e) { // Show preview section document.getElementById(image_preview_section).classList.remove(hidden); // Show submit button section document.getElementById(submit_button_section).classList.remove(hidden); // Set preview image document.getElementById(image_preview).src e.target.result; // Scroll to preview document.getElementById(image_preview_section).scrollIntoView({ behavior: smooth, block: center }); }; reader.readAsDataURL(input.files0); } } function selectMode(mode) { // Update hidden field document.getElementById(selected_mode).value mode; // Update button styles const buttons document.querySelectorAll(.mode-button); buttons.forEach(btn > { btn.classList.remove(border-orange-500, bg-orange-50, shadow-md); btn.classList.add(border-gray-300, bg-white); }); // Highlight selected button const selectedBtn document.getElementById(mode_ + mode); selectedBtn.classList.remove(border-gray-300, bg-white); selectedBtn.classList.add(border-orange-500, bg-orange-50, shadow-md); } function scrollToTop() { window.scrollTo({ top: 0, behavior: smooth }); } /script> !-- Gallery Slider --> !-- Features --> section classgrid grid-cols-1 md:grid-cols-3 gap-6 mt-8 sm:mt-12 pt-8 sm:pt-12 border-t border-gray-200 aria-labelFeatures> article classflex flex-col items-center text-center> div classw-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelBike>🚲/span> /div> h3 classfont-semibold text-gray-900 mb-1>Snel & Makkelijk/h3> p classtext-sm text-gray-600>Sneller dan klagen over NS-vertragingen/p> /article> article classflex flex-col items-center text-center> div classw-12 h-12 bg-amber-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelBrain>🧠/span> /div> h3 classfont-semibold text-gray-900 mb-1>AI-Aangedreven/h3> p classtext-sm text-gray-600>Getraind op miljoenen broodjes (en wat spijt)/p> /article> article classflex flex-col items-center text-center> div classw-12 h-12 bg-orange-100 rounded-xl flex items-center justify-center mb-3 aria-hiddentrue> span classtext-2xl roleimg aria-labelDutch flag>🧀/span> /div> h3 classfont-semibold text-gray-900 mb-1>Nederlandse Stijl/h3> p classtext-sm text-gray-600>Van kaas tot chaos/p> /article> /section> /div>/div> /div> /main> footer classbg-white/50 backdrop-blur-sm border-t border-gray-200/50 py-8 mt-auto> div classmax-w-5xl mx-auto px-6> div classgrid grid-cols-1 md:grid-cols-3 gap-8 mb-6> div classtext-center md:text-left> h3 classtext-gray-900 font-bold text-lg mb-2>Broodjemaker/h3> p classtext-gray-600 text-sm> AI-aangedreven broodje inspiratie voor je volgende lekkere broodje. /p> /div> nav classtext-center> h4 classtext-gray-900 font-semibold text-sm mb-2>Meer Informatie/h4> ul classspace-y-1 text-sm> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/about>Over Ons/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/how-it-works>Hoe Het Werkt/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/faq>Veelgestelde Vragen/a>/li> li classpt-2> a classinline-flex items-center gap-1 text-orange-600 hover:text-orange-700 font-bold transition-colors animate-pulse href/nl/meals> span>✨ Alle Maaltijden/span> span classtext-xs bg-orange-500 text-white px-2 py-0.5 rounded-full>NIEUW/span>/a> /li> /ul> /nav> nav classtext-center md:text-right> h4 classtext-gray-900 font-semibold text-sm mb-2>Juridisch/h4> ul classspace-y-1 text-sm> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/privacy>Privacybeleid/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/cookie-policy>Cookiebeleid/a>/li> li>a classtext-gray-600 hover:text-orange-600 transition-colors href/nl/terms>Gebruiksvoorwaarden/a>/li> li> button onclickshowCookiePreferences() classtext-gray-600 hover:text-orange-600 transition-colors> Cookie Voorkeuren /button> /li> li> script typetext/javascript srchttps://cdnjs.buymeacoffee.com/1.0.0/button.prod.min.js data-namebmc-button data-slugcodeandwaves data-color#FFDD00 data-emoji☕ data-fontCookie data-textBuy me a broodje data-outline-color#000000 data-font-color#000000 data-coffee-color#ffffff >/script> /li> /ul> /nav> /div> !-- Footer --> footer classtext-center pt-6 border-t border-gray-200 text-gray-400 text-xs> © 2026 Broodjemaker. Gemaakt met ❤️ door a hrefhttps://www.codeandwaves.co target_blank relnoopener noreferrer classtext-orange-600 hover:text-orange-700 font-medium transition-colors>Code and Waves/a> /footer> /div> /footer> !-- Cookie Consent Banner --> !-- Cookie Consent Banner -->div idcookie-banner classhidden fixed bottom-0 left-0 right-0 z-50 p-4 bg-white/95 backdrop-blur-md border-t-2 border-orange-200 shadow-2xl roledialog aria-labelledbycookie-banner-title aria-describedbycookie-banner-description> div classmax-w-6xl mx-auto> div classflex flex-col md:flex-row items-start md:items-center justify-between gap-4> div classflex-1> div classflex items-start gap-3> span classtext-2xl roleimg aria-labelCookie>🍪/span> div> h3 idcookie-banner-title classtext-lg font-bold text-gray-900 mb-1> We Respecteren Je Privacy /h3> p idcookie-banner-description classtext-sm text-gray-700 mb-2> We gebruiken essentiële cookies om onze site te laten werken. Met je toestemming kunnen we ook niet-essentiële cookies gebruiken om de gebruikerservaring te verbeteren en websiteverkeer te analyseren. /p> button onclicktoggleCookieDetails() classtext-xs text-orange-600 hover:text-orange-700 font-semibold underline aria-expandedfalse aria-controlscookie-details> Meer informatie over cookies /button> /div> /div> !-- Detailed Cookie Information (Hidden by default) --> div idcookie-details classhidden mt-4 p-4 bg-orange-50 rounded-lg border border-orange-200> h4 classtext-sm font-bold text-gray-900 mb-2>Cookie Categorieën:/h4> div classspace-y-3 text-sm> div> p classfont-semibold text-gray-900> span classinline-block w-4 h-4 bg-green-500 rounded mr-2>/span> Essentiële Cookies (Altijd Actief) /p> p classtext-gray-700 ml-6> Nodig voor het functioneren van de website. Deze omvatten sessiebeheer en gebruikersidentificatie. /p> p classtext-xs text-gray-600 ml-6 mt-1> Cookies: code>_broodjemaker_com_session/code>, code>user_token/code> /p> /div> div> p classfont-semibold text-gray-900> span classinline-block w-4 h-4 bg-blue-500 rounded mr-2>/span> Analytische Cookies (Optioneel) /p> p classtext-gray-700 ml-6> Help ons begrijpen hoe bezoekers omgaan met onze website om de gebruikerservaring te verbeteren. /p> p classtext-xs text-gray-600 ml-6 mt-1> Momenteel niet actief. Wordt in de toekomst gebruikt voor Google Analytics. /p> /div> /div> div classmt-4 pt-3 border-t border-orange-300> p classtext-xs text-gray-600> Voor meer informatie, lees ons a classtext-orange-600 hover:text-orange-700 font-semibold underline href/nl/privacy>Privacybeleid/a> en a classtext-orange-600 hover:text-orange-700 font-semibold underline href/nl/cookie-policy>Cookiebeleid/a>. /p> /div> /div> /div> !-- Action Buttons --> div classflex flex-col sm:flex-row gap-3 w-full md:w-auto> button onclickacceptEssentialCookies() classbtn btn-outline btn-sm px-6 text-gray-700 border-gray-300 hover:bg-gray-100 whitespace-nowrap order-2 sm:order-1> Alleen Essentieel /button> button onclickacceptAllCookies() classbtn btn-primary btn-sm px-6 bg-gradient-to-r from-orange-600 to-amber-600 hover:from-orange-700 hover:to-amber-700 border-none whitespace-nowrap order-1 sm:order-2> Accepteer Alles /button> /div> /div> /div>/div>script> // Cookie Consent Management const COOKIE_CONSENT_KEY broodjemaker_cookie_consent; const CONSENT_VERSION 1.0; // Check if user has already given consent function checkCookieConsent() { const consent localStorage.getItem(COOKIE_CONSENT_KEY); if (consent) { const consentData JSON.parse(consent); // If consent version matches, hide banner if (consentData.version CONSENT_VERSION) { return true; } } // Show banner if no valid consent found document.getElementById(cookie-banner).classList.remove(hidden); return false; } // Accept all cookies function acceptAllCookies() { const consent { essential: true, analytics: true, version: CONSENT_VERSION, timestamp: new Date().toISOString() }; localStorage.setItem(COOKIE_CONSENT_KEY, JSON.stringify(consent)); hideCookieBanner(); // Initialize analytics if consent given initializeAnalytics(); } // Accept essential cookies only function acceptEssentialCookies() { const consent { essential: true, analytics: false, version: CONSENT_VERSION, timestamp: new Date().toISOString() }; localStorage.setItem(COOKIE_CONSENT_KEY, JSON.stringify(consent)); hideCookieBanner(); } // Hide cookie banner function hideCookieBanner() { const banner document.getElementById(cookie-banner); banner.style.animation slideDown 0.3s ease-out; setTimeout(() > { banner.classList.add(hidden); }, 300); } // Toggle detailed cookie information function toggleCookieDetails() { const details document.getElementById(cookie-details); const button event.target; const isHidden details.classList.contains(hidden); if (isHidden) { details.classList.remove(hidden); button.setAttribute(aria-expanded, true); button.textContent Verberg cookie details; } else { details.classList.add(hidden); button.setAttribute(aria-expanded, false); button.textContent Meer informatie over cookies; } } // Initialize analytics (placeholder for future implementation) function initializeAnalytics() { const consent JSON.parse(localStorage.getItem(COOKIE_CONSENT_KEY) || {}); if (consent.analytics) { // TODO: Initialize Google Analytics or other analytics here console.log(Analytics consent granted - ready to initialize tracking); // Example for future Google Analytics implementation: // window.dataLayer window.dataLayer || ; // function gtag(){dataLayer.push(arguments);} // gtag(js, new Date()); // gtag(config, GA_MEASUREMENT_ID); } } // Check consent status on page load document.addEventListener(DOMContentLoaded, function() { checkCookieConsent(); }); // Add slide down animation const style document.createElement(style); style.textContent ` @keyframes slideDown { from { transform: translateY(0); opacity: 1; } to { transform: translateY(100%); opacity: 0; } } `; document.head.appendChild(style);/script> script> // Global function for cookie preferences button in footer function showCookiePreferences() { localStorage.removeItem(broodjemaker_cookie_consent); window.location.reload(); } /script> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]