This is a tool to help developpers implement GDPR into their applications. This will give the ability to users to create requests to rectify, delete, download all data, and give the ability to the provider to accept or deny those requests, automatically reverberating the changes to the application database, through use of API.
Credit to FSojistra for creating the Provider application : https://github.com/FSojitra/Registration-Login-and-CRUD-Action-using-MERN-stack
The full documentation can be accessed on Notion : API documentation, implementation guide, and installation guide.
https://www.notion.so/GDPR-Management-Service-documentation-b55d2eeadd1b4b188697bccf621ad560
Prerequisites :
-Install Node.js
-
Create a mysql database
-
Fill the .env file in GDPR_HELPER/API/
DATABASE_URL="mysql://username:password@host:port/DatabaseName"
corresponding to the authentication URL to the database.ADMIN_API_KEY
is the key that will be used by external clients to access GDPRMSAPI_ENDPOINT_PROCESS_DATA_REQUEST_ANSWERS="http://localhost:2000/processAnswers"
Is the address to the endpoint of the Provider Application api that is used by the server to notify the Provider server that new data request answers need to be processed.
-
Run
cd .\GDPR_HELPER\API\
-
Run
npm install
-
Run
npx prisma db push
- Fill the .env file in GDPR_HELPER/frontend/ .
-
REACT_APP_GDPRMS_URL='http://localhost:4000'
corresponds to the URL of GDPRMS API. -
💡 Note that only the admin pages uses this key, data subjects all have their own keys given by the server. Such environment variable key is unsafe since it is exposed to the client, in later development, it should be only accessed after the admin has logged in and should not be directly stored in the client application.REACT_APP_ADMIN_API_KEY
is the key that will be used by the client to access GDPRMS -
REACT_APP_API_ENDPOINT_GET_DATA_CONTENT='http://localhost:2000/getContent?id='
Is the address to the endpoint of the Provider Application api that is used by the server to access the content of any personal data, since GDPRMS does not store any personal data.
-
- Run
cd .\GDPR_HELPER\frontend\
- Run
npm install
Run :
cd .\GDPR_HELPER\API\
npm run start
Run :
cd .\GDPR_HELPER\frontend\
npm run start
Run :
npm install
npm run start
Run :
npm install
npm run start