We are building Offen, a fair web analytics software that treats operators and users as equal parties. Operators can gain insights into how users interact with their services, while ensuring that they retain full control over their data.
Along the way, we created the Offen Consent Tool. A lightweight solution for managing user consent on websites. Read the full version of this article on the Offen blog.
The Tool is using 1st Party Cookies to store user's consent decisions. To enable this mechanism, you need to deploy the respective server to a sibling domain, i.e. if you plan to use the tool on www.example.com
, it should be served on a domain like consent.example.com
. The tool can serve any number of domains at once, so it's possible to use the same deployment for multiple domains at once.
Next deploy the application to a domain like consent.example.com
. On the host site www.example.com
embed the client script:
<script src="https://consent.example.com/client.js">
which exposed window.ConsentClient
. In your client side code, construct a new client instance pointing at your deployment and request user consent for the desired scope(s):
const client = new window.ConsentClient({ url: 'https://consent.example.com' })
client
.acquire('analytics', 'marketing')
.then((decisions) => {
if (decisions.analytics) {
// load analytics data
}
if (decisions.marketing) {
// trigger marketing tools
}
})
The Offen Consent Tool further allows you to create the binary yourself and provides a development setup. It can also be used as a library and be integrated into any web server written in Golang. Learn more
Read the Docs for further assistance with installation and use. Open Docs
If you have any feedback, comments or bug reports about this or other project, we would love to hear from you. Open an issue on GitHub.
_
Top comments (0)