Skip to content

ozoz03/vgs-django-sample-id-verification

 
 

Repository files navigation

VGS Logo

vgs-django-pii-sample

Sample of using VGS for securing PII data(Django).

Requirements

Quick Start

  1. Clone repository
  2. Register on checkr.com
  3. Put your CHECKER_API_KEY to docker-compose.yml file
  4. Install docker on your local machine
  5. Run rerun.sh script

Application will be started in Docker container and available at http://localhost:8000/app/

Before integrating with VGS, the application works but it stores all PII (Peronsally identifiable information) data in storage.

How to secure application with VGS

before we start, we should make our app visible from internet. You can use ngrok for it.

Since we do not want to store PII data in our own storage, VGS can take data custodianship.

  1. Go to VGS-Dashboard, create a new organization, create a new vault. This is where we will store PII data.
  2. Lets setup inboud traffic protection:
  • go to Routes

  • create new inbound route

  • add upstream as an app host from ngrok

2.1 Lets setup filter which will redact PII data in client's request:

  • setup filter to process request data

2.2 To make data readable for the customer who owns this data, lets setup another filter, that will reveal PII data in client's response:

  • add new filter in the inbound route

  • setup filter to process response data

Done!Inbound route is already created. Click Save button and check result.

3 We've protected our system from storing PII data in our DB. But we need original data for processing it on checkr.com. Lets setup outbound routes to perform this operation.

  • go to Routes

  • create new outbound route

  • add upstream as a checkr API host

3.1 Let's setup filter which will reveal PII data in client's request to Checkr:

  • setup filter to process request data

3.2 Checkr service returns user's PII data in response, so we should rid of original PII data:

  • add new filter in the outbound route

  • setup filter to process response from Checkr

Done!Outbound route is already created. Click Save button and check result.

4 We have created the VGS vault, lets use it in our app:

  • copy access urls to the vault

  • paste it to /idVerification/settings.py
VGS_REVERSE_PROXY='https://tntvsu7b08w.SANDBOX.verygoodproxy.com' #inbound
VGS_FORWARD_PROXY='https://US4HaDCukkzFFPcGe3nYR933:f0748f46-dcdd-4320-a7de-8f2204fef53a@tntvsu7b08w.SANDBOX.verygoodproxy.com:8080' #outbound

Done! Our app is now secured by VGS. Lets check it out!

  • lets go to data original view and try to check it on Checkr service

What is VGS?

Want to just jump right in? Check out our getting started guide.

Very Good Security (VGS) allows you to enhance your security standing while maintaining the utility of your data internally and with third-parties. As an added benefit, we accelerate your compliance certification process and help you quickly obtain security-related compliances that stand between you and your market opportunities.

To learn more, visit us at https://www.verygoodsecurity.com/

License

This project is licensed under the MIT license. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 81.3%
  • HTML 16.2%
  • Dockerfile 2.0%
  • Shell 0.5%