Sensitive Data Protection can detect and classify sensitive data within structured content such as CSV. By inspecting or de-identifying as a table, the structure and columns provide Sensitive Data Protection with additional clues that may enable it to provide better results for some use cases.
Inspecting a table
The code samples below demonstrate how to check a table of data for sensitive content. Tables support a variety of types.
C#
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Go
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Java
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Node.js
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
PHP
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Python
To learn how to install and use the client library for Sensitive Data Protection, see Sensitive Data Protection client libraries.
To authenticate to Sensitive Data Protection, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
REST
See the JSON quickstart for more information about using the DLP API with JSON.
JSON Input:
POST https://dlp.googleapis.com/v2/projects/[PROJECT_ID]/content:inspect?key={YOUR_API_KEY}
{
"item":{
"table":{
"headers": [{"name":"name"}, {"name":"phone"}],
"rows": [{
"values":[
{"string_value": "John Doe"},
{"string_value": "(206) 555-0123"}
]}
],
}
},
"inspectConfig":{
"infoTypes":[
{
"name":"PHONE_NUMBER"
}
],
"includeQuote":true
}
}
JSON Output:
{
"result": {
"findings": [
{
"quote": "(206) 555-0123",
"infoType": {
"name": "PHONE_NUMBER"
},
"likelihood": "VERY_LIKELY",
"location": {
"byteRange": {
"end": "14"
},
"codepointRange": {
"end": "14"
},
"contentLocations": [
{
"recordLocation": {
"fieldId": {
"name": "phone"
},
"tableLocation": {
}
}
}
]
},
"createTime": "2019-03-08T23:55:10.980Z"
}
]
}
}
Text versus structured text
Structuring text can help provide context. The same request as the one in the previous example, if inspected as a string—that is, as just "John Doe, (206) 555-0123"—would provide less accurate findings. That's because Sensitive Data Protection has fewer contextual clues about what the purpose of the number might be. When possible, consider parsing your strings into a table object for the most accurate scan results.