Cloud Data Loss Prevention (Cloud DLP) is now a part of Sensitive Data Protection. The API name remains the same: Cloud Data Loss Prevention API (DLP API). For information about the services that make up Sensitive Data Protection, see Sensitive Data Protection overview.
Stay organized with collections
Save and categorize content based on your preferences.
Delta-presence (δ-presence) is a metric that quantifies the probability that
an individual belongs to an analyzed dataset. Like k-map,
you can estimate δ-presence values using Sensitive Data Protection, which
uses a statistical model to estimate the attack dataset.
δ-presence contrasts with the other risk analysis methods, in which the
attack dataset is explicitly known. Depending on the type of data,
Sensitive Data Protection uses publicly available datasets (for example, from the
US Census) or a custom statistical model (for example, one or more
BigQuery tables that you specify), or it extrapolates from the
distribution of values in your input dataset.
This topic demonstrates how to compute δ-presence values for a dataset using
Sensitive Data Protection. For more information about δ-presence or risk analysis in
general, see the risk analysis concept topic
before continuing on.
Before you begin
Before continuing, be sure you've done the following:
To compute a δ-presence estimate using Sensitive Data Protection, send a request
to the following URL, where PROJECT_ID indicates your project
identifier:
quasiIds[]: Required. Fields
(QuasiId
objects) considered to be quasi-identifiers to scan and use to compute
δ-presence. No two columns can have the same tag. These can be any of the
following:
An infoType: This
causes Sensitive Data Protection to use the relevant public dataset as
a statistical model of population, including US ZIP codes, region codes,
ages, and genders.
A custom infoType: A custom tag wherein you indicate an auxiliary table
(an
AuxiliaryTable
object) that contains statistical information about the possible values of
this column.
The inferred tag: If no semantic tag is indicated, specify inferred.
Sensitive Data Protection infers the statistical model from the
distribution of values in the input data.
regionCode: An
ISO 3166-1 alpha-2 region code
for Sensitive Data Protection to use in statistical modeling. This value
is required if no column is tagged with a region-specific infoType (for
example, a US ZIP code) or a region code.
auxiliaryTables[]: Auxiliary tables
(StatisticalTable
objects) to use in the analysis. Each custom tag used to tag a
quasi-identifier column (from quasiIds[]) must appear in exactly one
column of one auxiliary table.
A BigQueryTable
object. Specify the BigQuery table to scan by including all of
the following:
projectId: The project ID of the project containing the table.
datasetId: The dataset ID of the table.
tableId: The name of the table.
A set of one or more
Action
objects, which represent actions to run, in the order given, at the
completion of the job. Each Action object can contain one of the
following actions:
SaveFindings
object: Saves the results of the risk analysis scan to a
BigQuery table.
To retrieve the results of the δ-presence risk analysis job using the REST
API, send the following GET request to the
projects.dlpJobs
resource. Replace PROJECT_ID with your project ID and
JOB_ID with the identifier of the job you want to obtain results for.
The job ID was returned when you started the job, and can also be retrieved by
listing all jobs.
GET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID
The request returns a JSON object containing an instance of the job. The results
of the analysis are inside the "riskDetails" key, in an
AnalyzeDataSourceRiskDetails
object. For more information, see the API reference for the
DlpJob
resource.
What's next
Learn how to calculate the k-anonymity
value for a dataset.
Learn how to calculate the l-diversity
value for a dataset.
Learn how to calculate the k-map value for a
dataset.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Computing δ-presence for a dataset\n\nDelta-presence (*δ* -presence) is a metric that quantifies the probability that\nan individual belongs to an analyzed dataset. Like [*k*-map](#compute-k-map),\nyou can estimate *δ*-presence values using Sensitive Data Protection, which\nuses a statistical model to estimate the attack dataset.\n\n*δ*-presence contrasts with the other risk analysis methods, in which the\nattack dataset is explicitly known. Depending on the type of data,\nSensitive Data Protection uses publicly available datasets (for example, from the\nUS Census) or a custom statistical model (for example, one or more\nBigQuery tables that you specify), or it extrapolates from the\ndistribution of values in your input dataset.\n\nThis topic demonstrates how to compute *δ* -presence values for a dataset using\nSensitive Data Protection. For more information about *δ* -presence or risk analysis in\ngeneral, see the [risk analysis concept topic](/sensitive-data-protection/docs/concepts-risk-analysis)\nbefore continuing on.\n| **Note:** At this time, you can only compute *δ* -presence values using the DLP API or Sensitive Data Protection-supported [client\n| libraries](/sensitive-data-protection/docs/libraries). Sensitive Data Protection in the Google Cloud console doesn't support computing *δ*-presence values.\n\n\u003cbr /\u003e\n\n| **Note:** Prematurely canceling an operation midway through a job still incurs costs for the portion of the job that was completed. For more information about billing, see [Sensitive Data Protection pricing](https://cloud.google.com/sensitive-data-protection/pricing).\n\n\u003cbr /\u003e\n\nBefore you begin\n----------------\n\n\nBefore continuing, be sure you've done the following:\n\n1. [Sign in](https://accounts.google.com/Login) to your Google Account.\n2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.\n[Go to the project selector](https://console.cloud.google.com/projectselector2/home/dashboard)\n3. Make sure that billing is enabled for your Google Cloud project. [Learn how to confirm billing is enabled for your\n project.](/billing/docs/how-to/modify-project)\n4. Enable Sensitive Data Protection.\n[Enable Sensitive Data Protection](https://console.cloud.google.com/flows/enableapi?apiid=dlp.googleapis.com)\n5. Select a BigQuery dataset to analyze. Sensitive Data Protection estimates the *δ*-presence metric by scanning a BigQuery table.\n6. Determine the types of datasets you want to use to model the attack dataset. For more information, see the reference page for the [`DeltaPresenceEstimationConfig`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#deltapresenceestimationconfig) object, as well as [Risk\n analysis terms and techniques](/sensitive-data-protection/docs/concepts-risk-analysis#risk_analysis_terms_and_techniques).\n\n\u003cbr /\u003e\n\nCompute *δ*-presence metrics\n----------------------------\n\nTo compute a *δ* -presence estimate using Sensitive Data Protection, send a request\nto the following URL, where \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e indicates your [project\nidentifier](https://cloud.google.com/resource-manager/docs/creating-managing-projects#identifying_projects): \n\n```\nhttps://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs\n```\n\nThe request contains a\n[`RiskAnalysisJobConfig`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs/create#riskanalysisjobconfig)\nobject, which is composed of the following:\n\n- A\n [`PrivacyMetric`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#privacymetric)\n object. This is where you specify that you want to calculate *δ* -presence by\n specifying a\n [`DeltaPresenceEstimationConfig`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#deltapresenceestimationconfig)\n object containing the following:\n\n - `quasiIds[]`: Required. Fields\n ([`QuasiId`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#quasiid)\n objects) considered to be quasi-identifiers to scan and use to compute\n *δ*-presence. No two columns can have the same tag. These can be any of the\n following:\n\n - An [infoType](/sensitive-data-protection/docs/reference/rest/v2/InfoType): This causes Sensitive Data Protection to use the relevant public dataset as a statistical model of population, including US ZIP codes, region codes, ages, and genders.\n - A custom infoType: A custom tag wherein you indicate an auxiliary table (an [`AuxiliaryTable`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob.AuxiliaryTable) object) that contains statistical information about the possible values of this column.\n - The `inferred` tag: If no semantic tag is indicated, specify `inferred`. Sensitive Data Protection infers the statistical model from the distribution of values in the input data.\n - `regionCode`: An\n [ISO 3166-1 alpha-2 region code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)\n for Sensitive Data Protection to use in statistical modeling. This value\n is required if no column is tagged with a region-specific infoType (for\n example, a US ZIP code) or a region code.\n\n - `auxiliaryTables[]`: Auxiliary tables\n ([`StatisticalTable`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#statisticaltable)\n objects) to use in the analysis. Each custom tag used to tag a\n quasi-identifier column (from `quasiIds[]`) must appear in exactly one\n column of one auxiliary table.\n\n- A [`BigQueryTable`](/sensitive-data-protection/docs/reference/rest/v2/BigQueryTable)\n object. Specify the BigQuery table to scan by including all of\n the following:\n\n - `projectId`: The project ID of the project containing the table.\n - `datasetId`: The dataset ID of the table.\n - `tableId`: The name of the table.\n- A set of one or more\n [`Action`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#Action)\n objects, which represent actions to run, in the order given, at the\n completion of the job. Each `Action` object can contain one of the\n following actions:\n\n - [`SaveFindings`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#SaveFindings) object: Saves the results of the risk analysis scan to a BigQuery table.\n - [`PublishToPubSub`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#PublishToPubSub) object: [Publishes a notification to a Pub/Sub topic](/pubsub/docs/publisher).\n\n | **Note:** If there are configuration or permission issues with the Pub/Sub topic, Sensitive Data Protection retries sending the Pub/Sub notification for up to two weeks. After two weeks, the notification is discarded.\n - [`PublishSummaryToCscc`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#PublishSummaryToCscc) object: Saves a results summary to Security Command Center.\n - [`PublishFindingsToCloudDataCatalog`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#PublishFindingsToCloudDataCatalog) object: Saves results to [Data Catalog](/sensitive-data-protection/docs/sending-results-to-dc).\n - [`JobNotificationEmails`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#JobNotificationEmails) object: Sends you an email with results.\n - [`PublishToStackdriver`](/sensitive-data-protection/docs/reference/rest/v2/InspectJobConfig#PublishToStackdriver) object: Saves results to Google Cloud Observability.\n\nViewing *δ*-presence job results\n--------------------------------\n\nTo retrieve the results of the *δ* -presence risk analysis job using the REST\nAPI, send the following GET request to the\n[`projects.dlpJobs`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs/get)\nresource. Replace \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e with your project ID and\n\u003cvar translate=\"no\"\u003eJOB_ID\u003c/var\u003e with the identifier of the job you want to obtain results for.\nThe job ID was returned when you started the job, and can also be retrieved by\n[listing all jobs](#list-jobs). \n\n```\nGET https://dlp.googleapis.com/v2/projects/PROJECT_ID/dlpJobs/JOB_ID\n```\n\nThe request returns a JSON object containing an instance of the job. The results\nof the analysis are inside the `\"riskDetails\"` key, in an\n[`AnalyzeDataSourceRiskDetails`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob.AnalyzeDataSourceRiskDetails)\nobject. For more information, see the API reference for the\n[`DlpJob`](/sensitive-data-protection/docs/reference/rest/v2/projects.dlpJobs#DlpJob)\nresource.\n\nWhat's next\n-----------\n\n- Learn how to calculate the [*k*-anonymity](/sensitive-data-protection/docs/compute-k-anonymity) value for a dataset.\n- Learn how to calculate the [*l*-diversity](/sensitive-data-protection/docs/compute-l-diversity) value for a dataset.\n- Learn how to calculate the [*k*-map](/sensitive-data-protection/docs/compute-k-map) value for a dataset."]]