1// By default, Klaro will load the config from a global "klaroConfig" variable. 2// You can change this by specifying the "data-config" attribute on your 3// script take, e.g. like this: 4// <script src="klaro.js" data-config="myConfigVariableName" /> 5var klaroConfig = { 6 // With the 0.7.0 release we introduce a 'version' paramter that will make 7 // it easier for us to keep configuration files backwards-compatible in the future. 8 version: 1, 9 10 // You can customize the ID of the DIV element that Klaro will create 11 // when starting up. If undefined, Klaro will use 'klaro'. 12 elementID: 'klaro', 13 14 // You can override CSS style variables here. For IE11, Klaro will 15 // dynamically inject the variables into the CSS. If you still consider 16 // supporting IE9-10 (which you probably shouldn't) you need to use Klaro 17 // with an external stylesheet as the dynamic replacement won't work there. 18 styling: { 19 theme: ['light', 'bottom', 'small'], 20 }, 21 22 // Setting this to true will keep Klaro from automatically loading itself 23 // when the page is being loaded. 24 noAutoLoad: true, 25 26 // Setting this to true will render the descriptions of the consent 27 // modal and consent notice are HTML. Use with care. 28 htmlTexts: true, 29 30 // Setting 'embedded' to true will render the Klaro modal and notice without 31 // the modal background, allowing you to e.g. embed them into a specific element 32 // of your website, such as your privacy notice. 33 embedded: false, 34 35 // You can group services by their purpose in the modal. This is advisable 36 // if you have a large number of services. Users can then enable or disable 37 // entire groups of services instead of having to enable or disable every service. 38 groupByPurpose: true, 39 40 // How Klaro should store the user's preferences. It can be either 'cookie' 41 // (the default) or 'localStorage'. 42 storageMethod: 'cookie', 43 44 // You can customize the name of the cookie that Klaro uses for storing 45 // user consent decisions. If undefined, Klaro will use 'klaro'. 46 cookieName: 'klaro', 47 48 // You can also set a custom expiration time for the Klaro cookie. 49 // By default, it will expire after 120 days. 50 cookieExpiresAfterDays: 365, 51 52 // You can change to cookie domain for the consent manager itself. 53 // Use this if you want to get consent once for multiple matching domains. 54 // If undefined, Klaro will use the current domain. 55 //cookieDomain: '.github.com', 56 57 // You can change to cookie path for the consent manager itself. 58 // Use this to restrict the cookie visibility to a specific path. 59 // If undefined, Klaro will use '/' as cookie path. 60 //cookiePath: '/', 61 62 // Defines the default state for services (true=enabled by default). 63 default: false, 64 65 // If "mustConsent" is set to true, Klaro will directly display the consent 66 // manager modal and not allow the user to close it before having actively 67 // consented or declines the use of third-party services. 68 mustConsent: false, 69 70 // Show "accept all" to accept all services instead of "ok" that only accepts 71 // required and "default: true" services 72 acceptAll: true, 73 74 // GDPR: Zeige "Alle ablehnen" Button 75 hideDeclineAll: false, 76 77 // Zeige "Mehr erfahren" Link zur Datenschutzerklärung 78 hideLearnMore: false, 79 80 // Zeige als kleinen Banner, nicht als Modal 81 noticeAsModal: false, 82 83 // You can also remove the 'Realized with Klaro!' text in the consent modal. 84 // Please don't do this! We provide Klaro as a free open source tool. 85 // Placing a link to our website helps us spread the word about it, 86 // which ultimately enables us to make Klaro! better for everyone. 87 // So please be fair and keep the link enabled. Thanks :) 88 disablePoweredBy: true, 89 90 translations: { 91 // translationsed defined under the 'zz' language code act as default 92 // translations. 93 zz: { 94 privacyPolicyUrl: privacyPolicyUrl, 95 }, 96 // If you erase the "consentModal" translations, Klaro will use the 97 // bundled translations. 98 de: { 99 privacyPolicyUrl: privacyPolicyUrl, 100 consentNotice: { 101 description: 'Wir nutzen Cookies für {purposes}.', 102 learnMore: 'Einstellungen', 103 }, 104 ok: 'OK', 105 acceptAll: 'Akzeptieren', 106 acceptSelected: 'Auswahl akzeptieren', 107 decline: 'Ablehnen', 108 declineAll: 'Ablehnen', 109 matomo: { 110 description: 'Besucherstatistiken', 111 }, 112 }, 113 en: { 114 consentModal: { 115 title: 'Privacy Policy and Cookie Consent', 116 description: 117 'Here you can see and customize the information that we collect about you.', 118 }, 119 matomo: { 120 description: 'Collecting of visitor statistics', 121 }, 122 }, 123 es: { 124 consentModal: { 125 title: 'PolÃtica de privacidad y consentimiento de cookies', 126 description: 127 'Aquà puede ver y personalizar la información que recopilamos sobre usted.', 128 }, 129 matomo: { 130 description: 'Recopilación de estadÃsticas de visitantes', 131 }, 132 }, 133 it: { 134 consentModal: { 135 title: 'Informativa sulla privacy e consenso ai cookie', 136 description: 137 'Qui puoi vedere e personalizzare le informazioni che raccogliamo su di te.', 138 }, 139 matomo: { 140 description: 'Raccolta di statistiche sui visitatori', 141 }, 142 }, 143 pl: { 144 consentModal: {
145 title: 'Polityka prywatnoÅci i zgoda na pliki cookie', 146 description: 147 'Tutaj możesz zobaczyÄ i dostosowaÄ informacje, które zbieramy o Tobie.', 148 }, 149 matomo: { 150 description: 'Zbieranie statystyk odwiedzin', 151 }, 152 }, 153 tr: { 154 privacyPolicyUrl: privacyPolicyUrl, 155 consentModal: { 156 title: 'Gizlilik Politikası ve Ãerez Onayı', 157 description: 158 'Burada, sizin hakkınızda topladıÄımız bilgileri görebilir ve özelleÅtirebilirsiniz.', 159 }, 160 privacyPolicy: { 161 text: 'Gizlilik politikamız hakkında daha fazla bilgi edinmek için {privacyPolicyUrl} adresini ziyaret edebilirsiniz.', 162 }, 163 purposeItem: { 164 service: 'hizmet', 165 services: 'hizmetler', 166 }, 167 ok: 'Tamam', 168 acceptAll: 'Hepsini kabul et', 169 acceptSelected: 'Seçilenleri kabul et', 170 decline: 'Reddet', 171 declineAll: 'Hepsini reddet', 172 matomo: { 173 description: 'Ziyaretçi istatistiklerinin toplanması', 174 }, 175 }, 176 fr: { 177 consentModal: { 178 title: 'Politique de confidentialité et consentement aux cookies', 179 description: 180 'Vous pouvez voir et personnaliser les informations que nous recueillons à votre sujet.', 181 }, 182 matomo: { 183 description: 'Collecte de statistiques de visiteurs', 184 }, 185 }, 186 }, 187 188 // This is a list of third-party services that Klaro will manage for you. 189 services: [ 190 { 191 // Each service should have a unique (and short) name. 192 name: 'matomo', 193 194 // If "default" is set to true, the service will be enabled by default 195 // Overwrites global "default" setting. 196 // We recommend leaving this to "false" for services that collect 197 // personal information. 198 default: true, 199 200 // The title of your service as listed in the consent modal. 201 title: 'Matomo/Piwik', 202 203 // The purpose(s) of this service. Will be listed on the consent notice. 204 // Do not forget to add translations for all purposes you list here. 205 purposes: ['analytics'], 206 207 // A list of regex expressions or strings giving the names of
208 // cookies set by this service. If the user withdraws consent for a 209 // given service, Klaro will then automatically delete all matching 210 // cookies. 211 // Bewusst OHNE Domain-Angabe: nur wenn keine Domain gesetzt ist, 212 // probiert Klaro zusaetzlich '.' + location.hostname zu loeschen 213 // (src/consent-manager.js:414). Eine feste Domain schaltet diesen 214 // Fallback ab. Hier stand bis 07/2026 'klaro.kiprotect.com' aus der 215 // Vendor-Demo, also eine Domain, unter der keine Instanz laeuft. 216 cookies: [ 217 [/^_pk_.*$/, '/'], 218 'piwik_ignore', 219 ], 220 221 // Kein callback: Matomo wird in templates/analytics.php erst nach 222 // getConsent('matomo') nachgeladen. Wer Matomos 'requireCookieConsent' 223 // (3.14.0+) nutzen will, setzt hier _paq.push(['rememberCookieConsentGiven']) 224 // bzw. ['forgetCookieConsentGiven'] ein: 225 // https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/ 226 227 // If "required" is set to true, Klaro will not allow this service to 228 // be disabled by the user. 229 required: false, 230 231 // If "optOut" is set to true, Klaro will load this service even before 232 // the user gave explicit consent. 233 // We recommend always leaving this "false". 234 optOut: false, 235 236 // If "onlyOnce" is set to true, the service will only be executed 237 // once regardless how often the user toggles it on and off. 238 onlyOnce: true, 239 }, 240 { 241 name: 'youtube', 242 title: 'YouTube Videos', 243 purposes: ['functionality'], 244 cookies: [ 245 // YouTube setzt verschiedene Cookies, abhängig von der Nutzung und dem Nutzer. 246 // Hier ein allgemeines Beispiel. Sie sollten die spezifischen Cookies, die YouTube 247 // in Ihrem Kontext setzt, überprüfen und hier auflisten. 248 'VISITOR_INFO1_LIVE', 249 'YSC', 250 'PREF', 251 ], 252 required: false, 253 default: true, // Ãndern Sie dies entsprechend Ihrer Datenschutzanforderungen 254 optOut: false, 255 onlyOnce: false, 256 }, 257 { 258 name: 'googleTagManager', 259 title: 'Google Tag Manager', 260 purposes: ['advertising'], 261 // Der GTM-Container selbst setzt keine Cookies, sie stammen von den ueber 262 // ihn geladenen Tags (GA4, Google Ads). Hier stand bis 07/2026 der nie 263 // ersetzte Platzhalter 'GTM-XXXXXX', also eine Container-ID statt eines 264 // Cookie-Namens, womit das Ablehnen gar nichts geloescht hat. 265 // Ohne Domain-Angabe, siehe Kommentar beim matomo-Service. 266 // Bekannte Grenze: GA setzt seine Cookies auf der registrierbaren Domain 267 // (.beispiel.de), Klaros Fallback probiert '.' + location.hostname. Auf 268 // einer www.-Instanz bleibt ein _ga-Cookie daher liegen. 269 cookies: [ 270 /^_ga/, // _ga, _ga_<Container-ID> 271 '_gid', 272 /^_gat/, // _gat, _gat_gtag_UA_* 273 /^_gcl/, // _gcl_au (Conversion Linker) 274 ], 275 required: false, 276 default: true, // Ãndern Sie dies entsprechend Ihrer Datenschutzanforderungen 277 optOut: false, 278 onlyOnce: true, 279 }, 280 ], 281};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.