GDPR Api (opinion)
I have an idea and would like your feedback. I'm thinking of developing an API to simplify GDPR (General Data Protection Regulation) compliance, excluding the cookie component.
The API would have several endpoints to handle the most common obligations, such as:
Downloading personal data in readable formats for Tenants and data about the Tenant's users.
Managing user preferences.
Recording and displaying logs for GDPR audits.
My goal is to offer a solution that helps developers implement the GDPR more easily and correctly, as I've noticed that many applications either don't do it well or skip it entirely.
I'd like to know if you, as a community, would use such a tool.
Thanks in advance.
28 Replies
How would you implement this? Because it heavily depends on how and where the backend stores this kind of data
I was thinking of it as an orchestration layer between the user and the application's backend.
Similar to Stripe, which doesn't store its physical products or Auth0 user profiles directly in its database, my API would provide a standardized set of endpoints (e.g., /data-request, /data-delete, /data-download, etc.) that adhere to AES-256 standards and all the security aspects.
Developers would integrate these endpoints and, essentially, configure them with custom webhooks or adapters pointing to their own backend services.
When a user requests their data, my API would trigger the developer's webhook, which would execute the specific queries needed to retrieve the data from their unique database structure.
A detailed audit log would then be generated and provide a standardized way to return the data to the user (the tenant). This approach separates the common legal workflow from each application's unique data storage implementation. That's something I was thinking.
Ideally, apply all the most secure methods when it comes to AES encryption, pseudonym mapping, and so on.
I see. This is not an easy undertaking. I believe that the customization/integration part will be the hardest to nail
Did you already start thinking about possible request/response models?
Of course, I started with the most basic. In fact, I faced several challenges with tenant access security. Just to get a tenant to access their own information, it took me almost a week just to do a simple Read, regarding Client ID, JWT authentication, and such things.
You see, this is actually something I thought not many devs did.
https://gist.github.com/HeyBaldur/831bc769cf2436aba70ec3e1ca49ffa7
Here is how I started it
I don't really have that much, because I am still thinking about this idea
Seems like something that would be better off as a library tbh
So in postman to access the tenant data I implement the JWT plus the Cliend ID, that in theory is private, right. But the info is encrypted ni the DB.

I though on that, but it'd exclusively only for .NET devs, I though on other stacks, so don't know 🙁
I guess that makes sense, sure
Personally, I'd rather handle it myself, so that the user data never gets transferred to any 3rd parties
Sending user data somewhere to get back an anonymized version of it seems... weird
Like the isEven API: https://isevenapi.xyz/
isEven API
isEven API
Oh, true, I missed that part
Yeah, I would definitely not want my clients data somewhere else
Yes, of course, definitely, this is one of the things I've been thinking about too.
Is there a business model behind this?
Not at the moment, I just thought of it as a side project, but I think it could have potential, well people have said that
kk. I like that you don't want to turn this into a .NET library
What about doing it like, for example, Keycloak?
You spin it up (self-hosted) and it solves the problem by providing the APIs you mentioned
The self-hosted aspect is why I was asking about the business model
In quickly comes into play
Are you saying this as a microservice type?
If you want to call it this way, yes
I bet you are already kinda going that route
Ah ok ok got it, I understand now
It's just a matter of where you deploy the service
yup yup. I gotcha now, hmm it could be nice to try that actually
That's something I would use if it is easy to use
(and meets the requirements)
I'd definitely feel better about spinning it up from a Docker image on my own server, than transfering all the user data who knows where
I like that approach, sounds like a smart and secure solution
yeah I can definitely think about this approach you know, since I am in early stage
Hey! I've been thinking about this idea, but also I've thinking about making like a community version open source or even the whole project open source like start generating trust, like redit did or other projects otherwise difficulty will generate trust among devs
@qqdev @Angius
@ZZZZZZZZZZZZZZZZZZZZZZZZZ @qqdev
hey guys! Here it is, could you please take a look!
Still basic because it is community.
https://github.com/HeyBaldur/GdprApi-Open
GitHub
GitHub - HeyBaldur/GdprApi-Open: A developer-friendly, open-source ...
A developer-friendly, open-source GDPR compliance API built with .NET 8 and MongoDB. Handle DSRs, consent, and audit logs with ease. Secure, extensible, and ready for production. - HeyBaldur/GdprAp...
Far as I can tell, it looks good
Haven't spotted any issues that would immediately jump out at me
I'd maybe question the use of Mongo, but you do you
You can also post in #code-review if looking for more input
Ah yeah cool!
Ah yeah, Mongo I choose it because of the flexibility to create nested objects, SQL for me is stiff and not so flexible
Because there is an endpoint called Audience. in that you can practically add any JSON object so, I managed to save data way easier than SQL
Postgres (and other databases) come with
JSONB column types nowadays
But yeah, I can see the rationale