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: ['dark', 'bottom'], 20 }, 21 22 // Setting this to true will keep Klaro from automatically loading itself 23 // when the page is being loaded. 24 noAutoLoad: false, 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 // replace "decline" with cookie manager modal 75 hideDeclineAll: false, 76 77 // hide "learnMore" link 78 hideLearnMore: false, 79 80 // show cookie notice as 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 // you can specify an additional class (or classes) that will be added to the Klaro `div` 91 //additionalClass: 'my-klaro', 92 93 // You can define the UI language directly here. If undefined, Klaro will 94 // use the value given in the global "lang" variable. If that does 95 // not exist, it will use the value given in the "lang" attribute of your 96 // HTML tag. If that also doesn't exist, it will use 'en'. 97 lang: 'de', 98 99 // You can overwrite existing translations and add translations for your 100 // service descriptions and purposes. See `src/translations/` for a full
101 // list of translations that can be overwritten: 102 // https://github.com/KIProtect/klaro/tree/master/src/translations 103 104 // Example config that shows how to overwrite translations: 105 // https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js 106 translations: { 107 // translationsed defined under the 'zz' language code act as default 108 // translations. 109 /* 110 zz: { 111 privacyPolicyUrl: '/#privacy', 112 }, 113 */ 114 // If you erase the "consentModal" translations, Klaro will use the 115 // bundled translations. 116 de: { 117 privacyPolicyUrl: '/datenschutz', 118 consentModal: { 119 description: 120 'Hier können Sie einsehen und anpassen, welche Dienste wir einbinden und welche Information wir über Sie sammeln.', 121 }, 122 consentNotice: { 123 description: 'Wir setzen Cookies ein, um unsere Webseiten optimal für Sie zu gestalten und unsere Angebote für Sie zu verbessern. Sie können auswählen, welche Cookies Sie zulassen wollen, sowie Ihre Auswahl jederzeit ändern. Technisch notwendige Cookies werden auch bei der Auswahl von "Ich lehne ab" gesetzt.', 124 }, 125 /* 126 inlineTracker: { 127 description: 'Beispiel für ein Inline-Tracking Skript', 128 }, 129 externalTracker: { 130 description: 'Beispiel für ein externes Tracking Skript', 131 }, 132 adsense: { 133 description: 'Anzeigen von Werbeanzeigen (Beispiel)', 134 title: 'Google AdSense Werbezeugs', 135 },*/ 136 essentialCookies: { 137 description: 'Für das Funktionieren der Website notwendig', 138 }, 139 matomo: { 140 description: 'Sammeln von anonymen Besucherstatistiken', 141 }, 142 googleAnalytics: { 143 description: 'Sammeln von anonymen Besucherstatistiken', 144 }, 145 twitter: { 146 description: 'Anzeigen der Twitter Timeline', 147 }, 148 sachsenatlas: { 149 description: 'Anzeigen einer Karte von Geoportal Sachsenatlas', 150 }, 151 /* 152 camera: { 153 description: 154 'Eine Ãberwachungskamera (nur ein Beispiel zu IMG-Tags)', 155 }, 156 cloudflare: { 157 description: 'Schutz gegen DDoS-Angriffe', 158 }, 159 intercom: { 160 description: 161 'Chat Widget & Sammeln von Besucherstatistiken (nur ein Beispiel)', 162 }, 163 mouseflow: { 164 description: 'Echtzeit-Benutzeranalyse (nur ein Beispiel)', 165 }, 166 googleFonts: { 167 description: 'Web-Schriftarten von Google gehostet', 168 },*/ 169 purposes: { 170 /* 171 analytics: 'Besucher-Statistiken', 172 security: 'Sicherheit', 173 livechat: 'Live Chat', 174 advertising: 'Anzeigen von Werbung', 175 styling: 'Styling', 176 */ 177 essential: { 178 title: 'Essenzielle Cookies', 179 description: 'Essenzielle Cookies sind Cookies, ohne die die Webseite nicht fehlerfrei funktionieren würde (z.B. Session-Cookies).' 180 }, 181 functional: { 182 title: 'Funktionale Cookies', 183 description: 'Funktionale Cookies dienen der Bereitstellung bestimmter Webseitenfunktionen und können vom Webseitenbetreiber zur Analyse des Besucherverhaltens (z.B. Messung der Besucherzahlen und deren Verweildauer auf der Seite) eingesetzt werden.' 184 }, 185 }, 186 }, 187 /* 188 en: { 189 consentModal: { 190 title: '<u>test</u>', 191 description: 192 'Here you can see and customize the information that we collect about you. Entries marked as "Example" are just for demonstration purposes and are not really used on this website.', 193 }, 194 inlineTracker: { 195 description: 'Example of an inline tracking script', 196 }, 197 externalTracker: { 198 description: 'Example of an external tracking script', 199 }, 200 adsense: {
201 description: 'Displaying of advertisements (just an example)', 202 title: 'Google Adsense Advertisement', 203 }, 204 matomo: { 205 description: 'Collecting of visitor statistics', 206 }, 207 camera: { 208 description: 209 'A surveillance camera (just an example for an IMG tag)', 210 }, 211 cloudflare: { 212 description: 'Protection against DDoS attacks', 213 }, 214 intercom: { 215 description: 216 'Chat widget & collecting of visitor statistics (just an example)', 217 }, 218 mouseflow: { 219 description: 'Real-Time user analytics (just an example)', 220 }, 221 googleFonts: { 222 description: 'Web fonts hosted by Google', 223 }, 224 purposes: { 225 analytics: 'Analytics', 226 security: 'Security', 227 livechat: 'Livechat', 228 advertising: 'Advertising', 229 styling: 'Styling', 230 }, 231 }, 232 */ 233 }, 234 235 // This is a list of third-party services that Klaro will manage for you. 236 services: [ 237 238 /* 239 { 240 name: 'youtube', 241 default: false, 242 purposes: ['marketing'], 243 }, 244 */ 245 { 246 name: 'essentialCookies', 247 default: true, 248 title: 'Essenzielle Cookies', 249 purposes: ['essential'], 250 required: true, 251 }, 252 { 253 name: 'matomo', 254 default: true, 255 title: 'Matomo/Piwik', 256 purposes: ['essential'], 257 required: true, 258 }, 259 { 260 name: 'googleAnalytics', 261 default: false, 262 title: 'Google Analytics', 263 purposes: ['functional'], 264 cookies: [ 265 /^_ga(_.*)?/, 266 ], 267 }, 268 { 269 name: 'twitter', 270 default: false, 271 title: 'Twitter', 272 purposes: ['functional'], 273 }, 274 { 275 name: 'sachsenatlas', 276 default: false, 277 title: 'Geoportal Sachsenatlas', 278 purposes: ['functional'], 279 }, 280 /* 281 { 282 // Each service should have a unique (and short) name. 283 name: 'matomo', 284 285 // If "default" is set to true, the service will be enabled by default 286 // Overwrites global "default" setting. 287 // We recommend leaving this to "false" for services that collect 288 // personal information. 289 default: true, 290 291 // The title of your service as listed in the consent modal. 292 title: 'Matomo/Piwik', 293 294 // The purpose(s) of this service. Will be listed on the consent notice. 295 // Do not forget to add translations for all purposes you list here. 296 purposes: ['analytics'], 297 298 // A list of regex expressions or strings giving the names of
299 // cookies set by this service. If the user withdraws consent for a 300 // given service, Klaro will then automatically delete all matching 301 // cookies. 302 cookies: [ 303 // you can also explicitly provide a path and a domain for 304 // a given cookie. This is necessary if you have services that 305 // set cookies for a path that is not "/" or a domain that 306 // is not the current domain. If you do not set these values 307 // properly, the cookie can't be deleted by Klaro 308 // (there is no way to access the path or domain of a cookie in JS) 309 // Notice that it is not possible to delete cookies that were set 310 // on a third-party domain! See the note at mdn: 311 // https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain 312 [/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version 313 [/^_pk_.*$/, '/', 'localhost'], //for the local version 314 'piwik_ignore', 315 ], 316 317 // An optional callback function that will be called each time 318 // the consent state for the service changes (true=consented). Passes 319 // the `service` config as the second parameter as well. 320 callback: function(consent, service) { 321 // This is an example callback function. 322 console.log( 323 'User consent for service ' + service.name + ': consent=' + consent 324 ); 325 // To be used in conjunction with Matomo 'requireCookieConsent' Feature, Matomo 3.14.0 or newer 326 // For further Information see https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/ 327 328 //if(consent==true){ 329 // _paq.push(['rememberCookieConsentGiven']); 330 //} else { 331 // _paq.push(['forgetCookieConsentGiven']); 332 //} 333 334 }, 335 336 // If "required" is set to true, Klaro will not allow this service to 337 // be disabled by the user. 338 required: false, 339 340 // If "optOut" is set to true, Klaro will load this service even before 341 // the user gave explicit consent. 342 // We recommend always leaving this "false". 343 optOut: false, 344 345 // If "onlyOnce" is set to true, the service will only be executed 346 // once regardless how often the user toggles it on and off. 347 onlyOnce: true, 348 }, 349 */ 350 351 // The services will appear in the modal in the same order as defined here. 352 /* 353 { 354 name: 'inlineTracker', 355 title: 'Inline Tracker', 356 purposes: ['analytics'], 357 cookies: ['inline-tracker'], 358 optOut: false, 359 }, 360 { 361 name: 'externalTracker', 362 title: 'External Tracker', 363 purposes: ['analytics', 'security'], 364 cookies: ['external-tracker'], 365 }, 366 { 367 name: 'intercom', 368 title: 'Intercom', 369 default: true, 370 purposes: ['livechat'], 371 }, 372 { 373 name: 'mouseflow', 374 title: 'Mouseflow', 375 purposes: ['analytics'], 376 }, 377 { 378 name: 'adsense', 379 // if you omit the title here Klaro will try to look it up in the 380 // translations 381 //title: 'Google AdSense', 382 purposes: ['advertising'], 383 }, 384 { 385 name: 'camera', 386 title: 'Surveillance Camera', 387 purposes: ['security'], 388 }, 389 { 390 name: 'googleFonts', 391 title: 'Google Fonts', 392 purposes: ['styling'], 393 }, 394 { 395 name: 'cloudflare', 396 title: 'Cloudflare', 397 purposes: ['security'], 398 required: true, 399 },*/ 400 ], 401};
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.