DEV Community

Cover image for Introducing the Offen Protocol

Posted on

Introducing the Offen Protocol

We are building Offen, a fair and lightweight web analytics software that treats operators and users as equal parties. Along the way, we discovered many subtleties and details to consider and created the Offen Protocol for all software out there that aims to handle usage data in a transparent way. Read the full version of this article on the Offen blog.

The underlying concept is the definition of five actions that clients can take when they interact with a server that processes their data. These actions correspond to the rights of the data subject as defined by GDPR.

  • Probe is used to request additional information about the service.
  • Register is used when a client wants to make itself known to the server.
  • Submit is the action taken when a client transfers data to the client.
  • Query will be used when clients want to query the server for data.
  • Purge can be used by clients that want to initiate removal of data.

The full specification document can be found on the website. The protocol is not overly complicated and is perhaps even more of a convention than a specification. However, we have extracted what we use in Offen and added these implementations to the GitHub repository, which also contains the specification itself.

Please let us know what you think. We’re happy to open the discussion: tweet at us, send us an email, or open an issue on the GitHub repository.


Discussion (0)