📚 Databunker - Awesome Go Library for Database
Personally identifiable information (PII) storage service built to comply with GDPR and CCPA.
Detailed Description of Databunker
Databunker
Databunker is a network-based, self-hosted, GDPR compliant, secure vault for personal data or PII: https://databunker.org/
Project demo is available at: https://demo.databunker.org/. Please add a star if you like our project.
⚠️ Here is a simple truth: traditional database encryption often provides a false sense of security.
What are the risks of traditional database security solutions?
- Data encryption is not enough: Most cloud and security vendors provide only data or disk encryption
- Unfiltered GraphQL Queries: Attackers can retrieve unencrypted data via incorrectly filtered queries
- SQL Injection Attacks: Cybercriminals can easily access plain text data through SQL injection
Introducing Databunker
Databunker is a specialized system for secure storage, data tokenization, and consent management, designed to protect:
- Personally Identifiable Information (PII)
- Protected Health Information (PHI)
- Payment Card Industry (PCI) data
- Know Your Customer (KYC) records
Key Features:
- Open-Source: Fully available under the commercially friendly MIT license
- GDPR Compliant: Built with privacy regulations in mind
- Superior Protection: Goes beyond standard database encryption offered by major vendors
How Databunker Reinvents Data Security:
Databunker introduces a new approach to customer data protection:
- Secure Indexing: Utilizes hash-based indexing for all search indexes
- No Clear Text Storage: Ensures all information is encrypted, enhancing overall security
- Restricted Bulk Retrieval: Bulk retrieval is disabled by default, adding an extra layer of defense
- API-Based Communication: Backend interacts with Databunker through API calls, similar to NoSQL solutions
- Record Token: Databunker creates a secured version of your data object - an object UUID token that is safe to use in your database
Don't let your sensitive data become the next breach headline
Diagram of old-style solution
Diagram of Solution with Databunker
Getting started guide: https://databunker.org/doc/start/
Databunker installation guide: https://databunker.org/doc/install/
🚀 Demo
Project demo is available at: https://demo.databunker.org/
You can access the demo UI using the following account credentials:
Phone: 4444
Captcha: type as displayed
Access code: 4444
Email: [email protected]
Captcha: type as displayed
Access code: 4444
Demo root token: DEMO
🛠️ Node.js Examples
-
Node.js example implementing passwordless login using Databunker: https://github.com/securitybunker/databunker-nodejs-passwordless-login
-
Node.js example with Passport.js, Magic.Link and Databunker: https://github.com/securitybunker/databunker-nodejs-example
-
Secure Session Storage for Node.js apps: https://databunker.org/use-case/secure-session-storage/#databunker-support-for-nodejs
🛠️ Node.JS modules
-
@databunker/store
from https://github.com/securitybunker/databunker-store -
@databunker/session-store
from https://github.com/securitybunker/databunker-session-store
⚡ Databunker benchmark results:
https://databunker.org/doc/benchmark/
⚡ Production deployments
- Backend at https://cloudrevive.com/
- Backend at https://metal8.cloud/
- Backend at https://bitbaza.io/
🚩 Send us a note if you are running Databunker in production mode, so we can add your website to the list.
Privacy by design
This product, from the architecture level and down to code was built to comply with strict privacy laws such as GDPR and CCPA. Deploying this project can make your architecture privacy by design compliant. For more info, check out the following article:
https://databunker.org/use-case/privacy-by-design-default/
Transparency and Accountability principle
Any system or customer connecting to Databunker must provide an access token to authorize any operation, otherwise, the operation will be aborted. An end customer can login to his profile with a random authorization code sent by email or SMS.
All operations with personal records are saved in the audit log.
Any customer can log in to his account at Data Bunker and view the full audit of activities performed on his profile.
Integrity and confidentiality
All personal data is encrypted. An audit log is written for all operations with personal records. Any request using Databunker API is done with HTTPS SSL certificate. The enterprise version supports Shamir's Secret Sharing algorithm to split the master key into a number of keys. A number of keys (that can be saved in different hands in the organization) are required to bring the system up.
🚀 Databunker quick start guide
Follow this article.
This projects provides an instant solution for GDPR compliance and user rights:
- Right of access
- Right to restrict processing / Consent withdrawal
- Right to be forgotten
- Right to rectification
- Right to data portability
🚩 NOTE: Implementing this project does not make you fully compliant with GDPR requirements and you still need to consult with an attorney specializing in privacy.
🚩 NOTE: When we use the term "Customer" we mean the data of the end-user that his information is being stored, shared, and deleted.
Right of access
Databunker extracts customer email and customer phone values out of the customers' personal records. It gives your customer passwordless access to his data stored under his account. This is done by generating a random access key sent by email or by SMS. Your customer can sign-in into Databunker, view information stored by Databunker, and make changes in compliance with a company's policy.
Right to restrict processing / Consent withdrawal
Databunker can manage all of the customer's consents and agreements in one place. Your customer can withdraw consent and as a result restrict processing in his personal portal at Databunker. For example, your customer can block newsletter service. Your backend system can use Databunker as a collection of all agreements collected using the Databunker API.
🚩 NOTE: Databunker can call your backend script on a consent withdrawal (callback). You will have to handle these requests and remove the customer records from other 3rd party processing companies. For example from email newsletter service, etc...
Right to be forgotten
When your customer requests to execute his right to be forgotten, his private records will be wiped out of the Databunker database, giving you the possibility to leave all internal databases intact while not impacting any of your other systems.
Upon customer removal request, Databunker can call your backend script (callback) with the customer details. You will have to handle these requests and remove other customer records from the 3rd party processing companies. For example from browsing recording services, etc...
🚩 NOTE: You will need to make sure that you do not have any customer identifiable information (PII) in your other databases, logs files, etc...
Right to rectification
Right to rectification is also known as data accuracy requirement. Your customer can sign-in to his personal account at Databunker and change his records, for example, change his name. Databunker can fire a callback operation with customer's details when a customer operation takes place.
Right to data portability
Your customer can sign in to his personal account at Databunker and view and extract all his records stored at Databunker.
🚩 NOTE: You will need to provide your customers with a way to extract data from other internal databases.
🚩 NOTE
Implementing this project does not make you fully compliant with GDPR requirements and you still need to consult with an attorney specializing in privacy.
Databunker use cases
Detailed information can be found at https://databunker.org/use-case/
- A perfect backend for a KYC system for a crypto startup
- Temporary record identities for secure data exchange
- Audit trail and tracing customer profile changes
- Critical Data Segregation: Implementation Guide
- Continuous Data Protection for PII/PHI records
- Custom Privacy-Enhancing Technology - PET
- User rights and privacy controls
- PII/PHI storage and tokenization
- Automatic log retention policy
- Privacy by Design Compliance
- Simplify user login backend
- Consent Management Platform
- Personal Data minimization
- Secure session storage
- GDPR request workflow
- DPO Management Portal
- User privacy portal
- ISO27001 Compliance
- HIPAA Compliance
- GDPR Compliance
- SOC2 Compliance
- Pseudonymization
- Passport.js support
Blog posts, articles, or other resources that talk about Databunker:
- GDPR compliance and Databunker introduction video https://www.youtube.com/watch?v=QESOuL3LMj0
- https://oppetmoln.se/20220223/databunker-en-oppen-losning-for-gdpr-saker-lagring-av-kundinformation/
- https://www.freecodecamp.org/news/how-to-stay-gdpr-compliant-with-access-logs/
- https://news.ycombinator.com/item?id=26690279
- https://hackernoon.com/data-leak-prevention-with-databunker-xnn33u9
- https://anchor.fm/techandmain/episodes/Huawei--Microsoft-and-DataBunker--Yuli-Stremovsky-evl385
- https://nocomplexity.com/documents/simplifyprivacy/databunker.html
- https://ipv6.rs/tutorial/FreeBSD_Latest/Databunker/
- https://selfhostedworld.com/software/databunker
- https://ipv6.rs/tutorial/Void_Linux/Databunker/
- https://slashdot.org/software/p/Databunker/
- https://github.com/expressjs/session
- https://stackshare.io/databunker
- https://dbweekly.com/issues/348
- https://databunker.org/
If you published an article about Databunker send us a link at [email protected]
🚀 We are constantly working to improve this project
Your feedback is very important for us. Give us a ⭐ star if you like our product.
If you have any questions, you can contact the development team at [email protected].
Join the project slack channel to talk with developers: https://databunker.slack.com/
⭐ Spread a word to make a world a bit safer with Databunker
Help us to raise awareness. Please add a ⭐ star and share this project with your friends.