DEV Community

Cover image for Introducing the Offen Protocol
offen.software
offen.software

Posted on

1 1

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.

_

AWS GenAI LIVE image

Real challenges. Real solutions. Real talk.

From technical discussions to philosophical debates, AWS and AWS Partners examine the impact and evolution of gen AI.

Learn more

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay