Simple & Friendly

Klaro is simple, unobtrusive and optimized for both mobile devices and desktop browsers. Klaro disturbs your users as little as possible and helps you to process personal data in a completely transparent and legally compliant manner.

Open Source

The Klaro frontend code is licensed under the liberal BSD-3 license, which means that you can freely adapt it for commercial and non-commercial purposes. This allows you to freely customize any aspect of Klaro.

Easily customizable

Klaro can manage any third-party services and tracking scripts. New services can be added with just a few lines of code.

Data protection per design & standard

Klaro supports implicit and explicit consent processes and can ensure that no third-party applications are loaded or collect personal data without the user's consent.

Responsively compatible with more than 99.9% of browsers

Klaro works with all popular modern browsers and most older browsers (including IE9-11) and is optimized for viewing on both desktop and mobile devices.

Lightweight & fast

Klaro.js is less than 45 kB Javascript (scaled down + gzipped) and loads lightning fast, so your visitors will not notice any difference when loading your page. You can embed it via our own CDN or host it yourself on your server.

Multilingual

Klaro is easily internationalizable and allows you to add or change translations with just a few lines of code.

Hundreds of organizations are already successfully using Klaro:

Brockhaus AG, Lorch, RSA GmbH, Rohde Technics, VR Zahlungssysteme, VKA, Paper24, Cemecon, Dillinger, ...

To use Klaro, you have two options: Install and configure the open source version, or sign up for one of our paid subscriptions to get advanced server-side functionality, integration consulting, priority support and continuous monitoring. Regardless of what you choose, we will help you to use Klaro successfully!

Write the configuration file

First you need to inform Klaro about the third-party applications and trackers on your website. To do this, you write a simple Javascript configuration. The easiest way to start is to take a look at our documentation, which contains an annotated configuration file that you can modify. No rocket science, I promise. If you need more help, don't hesitate to ask our friendly Github community.

window.klaroConfig = {
    privacyPolicy: '/privacy.html',
    apps : [
        {
            name : 'google-analytics',
            default: true,
            title : 'Google Analytics',
            purposes : ['statistics'],
            cookies : [/^ga/i],
            callback : function(consent, app){
              // this is a sample callback function...
            },
        },
        // ...
    ],
}

Change your third party scripts

To ensure that tracking scripts and third-party applications are not loaded without permission, you will need to modify your HTML code a little bit: For inline scripts, replace the value of the type attribute with text/plain (this prevents the browser from running the script) and add a data attribute with the original type, e.g. data-type="application/javascript". Also add an data-name-Attribut that matches the name of the given application in your configuration, e.g. data-name="googleAnalytics". See our documentation for more detailed information.

# Inline scripts: 
<script type="text/plain"
        data-type="application/javascript"
        data-name="google-analytics">
//...
</script>

# External scripts and resources (img, link, ...): 
<script type="text/plain"
        data-src="https://analytics.kiprotect.com/matomo.js"
        data-name="matomo">
</script>

Load the configuration and the script

Finally, insert both the configuration script and the clear code on your page. You can postpone loading the scripts if you want. Just make sure that the configuration is initialized when Klaro is loaded. You can take a look at our simple example page to get an idea of how to do this. If you want to host Klaro yourself, you can download it here.

<script defer type="application/javascript"
        src="config.js"></script>
<script defer 
        data-config="klaroConfig"
        type="application/javascript"
        src="https://cdn.kiprotect.com/klaro/latest/klaro.js">
</script>

Any other questions?

Would you like to learn more about Klaro? Have a look at our documentation, visit our github page or contact us *. By the way, Klaro is pronounced [klɛro] and is a colloquial German word meaning "in Ordnung" or "understood".


* Please note: We do not offer e-mail support for the open source version. Please post all issues on Github, where our friendly community can help you.