PageSourceSearch

https://www.isgv.de/files/webfiles/klaro/config.js

js isgv.de collected 2026-10-01 12:08:41 UTC 15,940 bytes, 401 lines download raw bytes

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.