The California Consumer Privacy Act (CCPA) is a comprehensive data protection law that went into effect on January 1, 2020. The data security framework has a major impact on both consumers and businesses. Achieving compliance shouldn’t be a struggle; here is a simple checklist to help you harden your CCPA compliance.
Data mapping is the first step to CCPA compliance. In order to comply with the law, business will need to know what data is collected, where it is collected, where it is stored, and how it flows through the organization.
In order to handle CCPA data requests, business need to inform consumers of why and how data is being used.
curl https://api.verygoodsecurity.com/requests?user-id=1
{
"data": [{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "tnt1.sandbox.verygoodproxy.com",
"actionType": "CREATED",
"createdAt": "2020-01-13T13:21:14.978939"
"aliases": [{
"alias": "4e185065-62c0-45ab-8fda-8b15e45786e7",
"createdAt": "2020-01-13T13:21:14.978939"
}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
},
{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "mailchimp.com",
"actionType": "RETRIEVED",
"createdAt": "2020-01-21T10:55:20.123832"
"aliases": [{
"alias": "4e185065-62c0-45ab-8fda-8b15e45786e7",
"createdAt": "2020-01-13T13:21:14.978939"
}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
}]
}
Businesses must handle incoming consumer requests and verify that they originate from the owner of the data before fulfilling those requests.
Data collection and use should be limited to that which is necessary.
curl https://api.verygoodsecurity.com/requests?user-id=1
{
"data": [{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "tnt1.sandbox.verygoodproxy.com",
"actionType": "CREATED",
"createdAt": "2020-01-13T13:21:14.978939"
"aliases": [{
"alias": "4e185065-62c0-45ab-8fda-8b15e45786e7",
"createdAt": "2020-01-13T13:21:14.978939"
}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
},
{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "mailchimp.com",
"actionType": "RETRIEVED",
"createdAt": "2020-01-21T10:55:20.123832"
"aliases": [{
"alias": "4e185065-62c0-45ab-8fda-8b15e45786e7",
"createdAt": "2020-01-13T13:21:14.978939"
}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
},
{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "stripe.com",
"actionType": "RETRIEVED",
"createdAt": "2020-01-25T22:10:23.253575"
"aliases": [{
"alias": "4e185065-62c0-45ab-8fda-8b15e45786e7",
"createdAt": "2020-01-13T13:21:14.978939"
}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
}]
}
Routes.yaml:
data:
- attributes:
created_at: '2020-01-22T13:24:11'
destination_override_endpoint: '*'
entries:
- classifiers:
EXCLUDE: user-id=1
config:
condition: AND
...
curl -X DELETE https://api.verygoodsecurity.com/requests?user-id=1
{
"data": [{
"user_id": "user-id-1",
"tenantIdentifier": "tnt1",
"hostName": "tnt1.sandbox.verygoodproxy.com",
"actionType": "DELETED",
"createdAt": "2020-01-13T13:21:14.978939",
"aliases": [{}],
"tags": [{
"tag": "email",
"createdAt": "2020-01-13T13:21:14.978939"
}]
}]
}