mirror of
https://github.com/optim-enterprises-bv/databunker.git
synced 2025-11-01 18:38:06 +00:00
update project readme
This commit is contained in:
139
README.md
139
README.md
@@ -31,7 +31,7 @@ need to consult with an attorney specializing in privacy.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# This project resolves most of the GDPR requirements you will need to handle including:
|
# This project resolves most of the GDPR requirements for you including:
|
||||||
|
|
||||||
## Right of access
|
## Right of access
|
||||||
|
|
||||||
@@ -132,7 +132,25 @@ can store user shipping information is additional app table.
|
|||||||
|
|
||||||
## Audit of all operations with personal records
|
## Audit of all operations with personal records
|
||||||
|
|
||||||
See Transperancy above.
|
Data Bunker saves audit events on all API operation. For example, new personal record added or changed; personal information
|
||||||
|
record retreaved, etc...
|
||||||
|
|
||||||
|
By providing Audit of events, in relation to personal data, provides response to GDRP Article 15 requirement:
|
||||||
|
*Right of access by the data subject*.
|
||||||
|
|
||||||
|
Special features:
|
||||||
|
|
||||||
|
* Personal information in audit event is encrypted.
|
||||||
|
* User can view his own records only.
|
||||||
|
|
||||||
|
Each audit record consists of:
|
||||||
|
|
||||||
|
* Date and time
|
||||||
|
* Operation title
|
||||||
|
* Operation status
|
||||||
|
* Operation description
|
||||||
|
* Change before and after if applicable
|
||||||
|
* User session info if available: IP address, headers, etc...
|
||||||
|
|
||||||
## GDPR compliant logging : Web and mobile app session data storage
|
## GDPR compliant logging : Web and mobile app session data storage
|
||||||
|
|
||||||
@@ -148,13 +166,30 @@ for a limited time as in GDPR. For example one month.
|
|||||||

|

|
||||||
|
|
||||||
|
|
||||||
|
## Shareable user identity for 3rd parties
|
||||||
|
|
||||||
|
When sharing data with 3rd party services like web analytics, logging, intelligence, etc... sometimes we need to
|
||||||
|
share user id, for example, customer original IP address or email address. All these pieces of information
|
||||||
|
are considred user identifiable information and must be minimized when sending to 3rd paty systems.
|
||||||
|
|
||||||
|
***Do not share your customer user name, IP, emails, etc... because they look nice in reports!***
|
||||||
|
|
||||||
|
According to GDPR: *The personal data should be adequate, relevant and **limited to what is necessary** for the
|
||||||
|
purposes for which they are processed.*
|
||||||
|
|
||||||
|
Our system can generate you time-limited shareable identity token that you can share with 3rd parties as an identity.
|
||||||
|
This identity, can link back to the user personal record or user app record or to specific user session.
|
||||||
|
|
||||||
|
Optionally, Data Bunker can incorporate partner name in identity so, you track this identity usage.
|
||||||
|
|
||||||
|
|
||||||
## Consent management, i.e. withdawal
|
## Consent management, i.e. withdawal
|
||||||
|
|
||||||
According to GDPR, if you want to send your customer SMS using 3rd party gateway,
|
According to GDPR, if you want to send your customer SMS using 3rd party gateway,
|
||||||
you must show to your customer a detailed notification message that you will send
|
you must show to your customer a detailed notification message that you will send
|
||||||
his phone number to a specific SMS gateway company and the user needs to confirm that.
|
his phone number to a specific SMS gateway company and the user needs to confirm this operation.
|
||||||
|
|
||||||
You need to store these confirmations and Data Bunker will be doing it for you.
|
You need to store these confirmations and Data Bunker can do it for you.
|
||||||
|
|
||||||
Consent must be freely given, specific, informed and unambiguous. From GDPR, Article 7, item 3:
|
Consent must be freely given, specific, informed and unambiguous. From GDPR, Article 7, item 3:
|
||||||
|
|
||||||
@@ -168,6 +203,7 @@ In Data Bunker:
|
|||||||
* Removing consent for a user is as easy as granting it in the first place.
|
* Removing consent for a user is as easy as granting it in the first place.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Custom application signup and sign-in
|
## Custom application signup and sign-in
|
||||||
|
|
||||||
When implementing signup and sign-in in your customer-facing applications, we recommend you to
|
When implementing signup and sign-in in your customer-facing applications, we recommend you to
|
||||||
@@ -180,6 +216,18 @@ personal profile at Data Bunker. We send your user a one-time login code by SMS
|
|||||||
give him access to his account at Data Bunker.
|
give him access to his account at Data Bunker.
|
||||||
|
|
||||||
|
|
||||||
|
## Time-limited passwordless access tokens to personal information
|
||||||
|
|
||||||
|
Sometimes you want to share user, app or session private information in less trusted systems without providing
|
||||||
|
access to system root token.
|
||||||
|
|
||||||
|
Data Bunker has an API that allows you to generate temprorary access token to access specific fields in the
|
||||||
|
user personal record or application level data or a session record for a limited time only.
|
||||||
|
|
||||||
|
Your partner can retrieve this information and only specific fields during this specific timeframe.
|
||||||
|
Afterward, access will be blocked.
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
# Questions
|
# Questions
|
||||||
@@ -217,13 +265,11 @@ Following it a partial list.
|
|||||||
* Genetic info
|
* Genetic info
|
||||||
* Ethnic information
|
* Ethnic information
|
||||||
|
|
||||||
## Technology stack?
|
# Technology stack?
|
||||||
|
|
||||||
We use golang/go to build the whole project. Open source version comes with internal
|
We use golang/go to build the whole project. Open source version comes with internal
|
||||||
database and web ui as one executable file to make the project easy to deploy.
|
database and web ui as one executable file to make the project easy to deploy.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Encryption in motion and encryption in storage
|
## Encryption in motion and encryption in storage
|
||||||
|
|
||||||
All access to Data Bunker API is done using HTTPS SSL certificate. All records that have user personal information
|
All access to Data Bunker API is done using HTTPS SSL certificate. All records that have user personal information
|
||||||
@@ -231,8 +277,6 @@ are encrypted or securely hashed in the databases. All user records are encrypte
|
|||||||
System Master key (24 bytes, stored in memory, not on disk) and user record key (8 bytes, stored on disk).
|
System Master key (24 bytes, stored in memory, not on disk) and user record key (8 bytes, stored on disk).
|
||||||
Enterprise version supports **Master key split**. The Master key is kept in RAM and is never stored to disk.
|
Enterprise version supports **Master key split**. The Master key is kept in RAM and is never stored to disk.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Data Bunker internal tables
|
## Data Bunker internal tables
|
||||||
|
|
||||||
Information inside Data Bunker is saved in multiple tables in encrypted format. Here is a diagram of tables.
|
Information inside Data Bunker is saved in multiple tables in encrypted format. Here is a diagram of tables.
|
||||||
@@ -244,83 +288,6 @@ Detailed usecase for each table is covered bellow.
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Time-limited passwordless access to personal information
|
|
||||||
|
|
||||||
Sometimes you want to share user, app or session private information in less trusted systems without providing
|
|
||||||
access to system root token.
|
|
||||||
|
|
||||||
Data Bunker has an API that allows you to generate temprorary access token to access specific fields in the
|
|
||||||
user personal record or application level data or a session record for a limited time only.
|
|
||||||
|
|
||||||
Your partner can retrieve this information and only specific fields during this specific timeframe.
|
|
||||||
Afterward, access will be blocked.
|
|
||||||
|
|
||||||
**TODO: IMAGE**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Shareable user identity for 3rd parties
|
|
||||||
|
|
||||||
When sharing data with 3rd party services like web analytics, logging, intelligence, etc... sometimes we need to
|
|
||||||
share user id, for example, customer original IP address or email address. All these pieces of information
|
|
||||||
are considred user identifiable information and must be minimized when sending to 3rd paty systems.
|
|
||||||
|
|
||||||
***Do not share your customer user name, IP, emails, etc... because they look nice in reports!***
|
|
||||||
|
|
||||||
According to GDPR: *The personal data should be adequate, relevant and **limited to what is necessary** for the
|
|
||||||
purposes for which they are processed.*
|
|
||||||
|
|
||||||
Our system can generate you time-limited shareable identity token that you can share with 3rd parties as an identity.
|
|
||||||
This identity, can link back to the user personal record or user app record or to specific user session.
|
|
||||||
|
|
||||||
Optionally, Data Bunker can incorporate partner name in identity so, you track this identity usage.
|
|
||||||
|
|
||||||
**TODO: IMAGE**
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## User consent management
|
|
||||||
|
|
||||||
Consent in GDPR terms is clear approval for example to share user information with 3rd party, for example with SMS
|
|
||||||
gateway company to send him urgent notifications.
|
|
||||||
|
|
||||||
Consent must be freely given, specific, informed and unambiguous. From GDPR, Article 7, item 3:
|
|
||||||
|
|
||||||
* **The data subject shall have the right to withdraw his or her consent at any time.**
|
|
||||||
* **It shall be as easy to withdraw as to give consent.**
|
|
||||||
|
|
||||||
To comply with this requirement, we support storage and management of user consent by API level and in user UI.
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Audit
|
|
||||||
|
|
||||||
Data Bunker saves audit events on all API operation. For example, new personal record added or changed; personal information
|
|
||||||
record retreaved, etc...
|
|
||||||
|
|
||||||
By providing Audit of events, in relation to personal data, provides response to GDRP Article 15 requirement:
|
|
||||||
*Right of access by the data subject*.
|
|
||||||
|
|
||||||
Special features:
|
|
||||||
|
|
||||||
* Personal information in audit event is encrypted.
|
|
||||||
* User can view his own records only.
|
|
||||||
|
|
||||||
Each audit record consists of:
|
|
||||||
|
|
||||||
* Date and time
|
|
||||||
* Operation title
|
|
||||||
* Operation status
|
|
||||||
* Operation description
|
|
||||||
* Change before and after if applicable
|
|
||||||
* User session info if available: IP address, headers, etc...
|
|
||||||
|
|
||||||
** TODO: IMAGE**
|
|
||||||
|
|
||||||
Example from google: https://console.cloud.google.com/home/activit
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Enterprise features (not in open source version)
|
# Enterprise features (not in open source version)
|
||||||
|
|
||||||
## Master key split
|
## Master key split
|
||||||
|
|||||||
Reference in New Issue
Block a user