diff --git a/.dictionary b/.dictionary index d806950706..d6538b341a 100644 --- a/.dictionary +++ b/.dictionary @@ -1,4 +1,4 @@ -personal_ws-1.1 en 321 utf-8 +personal_ws-1.1 en 323 utf-8 AAR AARs ABI @@ -96,6 +96,7 @@ TWiG TaskCluster Taskcluster TigerBeetle's +TypeScript UA UI URIs @@ -239,6 +240,7 @@ ns ol ons outputter +outputters pdoc perrymcmanis pidcat diff --git a/docs/user/user/adding-glean-to-your-project/server.md b/docs/user/user/adding-glean-to-your-project/server.md index 9c6d6c7d38..703c2d8822 100644 --- a/docs/user/user/adding-glean-to-your-project/server.md +++ b/docs/user/user/adding-glean-to-your-project/server.md @@ -21,6 +21,37 @@ This method is intended for collecting user-level behavioral events in server en Follow the standard Glean SDK guide for adding metrics to `metrics.yaml` file. +## Requesting deletion of collected data + +Server applications can ask the data pipeline to delete a user's data by sending the +`server-deletion-request` ping. This is the server-side counterpart to the SDK's +[`deletion-request` ping](../pings/deletion-request.md), but it works differently: +server applications have no Glean-managed `client_id`, so the ping carries whichever +identifier metrics your application already sends with its data. + +The ping is defined in the `glean-server` library, so you do not need to declare it in a +`pings.yaml`. To use it, add `server-deletion-request` to the `send_in_pings` list of the +metric that identifies the user. `glean_parser` generates a logger for the ping alongside +the ones for your other pings, which you record when the user requests deletion. + +Keep the identifier in the `send_in_pings` list of the ping your data is collected in as +well. The deletion request tells the pipeline which user to delete, and the data ping is +what creates the column the pipeline deletes from. + +{{#include ../../../shared/blockquote-warning.html}} + +##### Sending the ping does not by itself delete anything + +> The ping records which identifier should be deleted, but the pipeline also needs to know +> which tables and columns that identifier appears in. That mapping is configured +> separately, so coordinate with the Data Engineering team when you adopt this ping. +> Until it is configured, the ping is collected but no data is removed. + +### Availability + +The `server-deletion-request` ping is currently supported by the JavaScript and +TypeScript server outputters only. + ## Technical details - ingestion For more technical details on how ingestion works, see the [Confluence page](https://mozilla-hub.atlassian.net/wiki/spaces/DATA/pages/741998604/Backend+telemetry+collection+with+Glean). diff --git a/docs/user/user/pings/deletion-request.md b/docs/user/user/pings/deletion-request.md index 7da708ff39..d1ba20090d 100644 --- a/docs/user/user/pings/deletion-request.md +++ b/docs/user/user/pings/deletion-request.md @@ -11,6 +11,14 @@ As such it attempts to send itself at the moment the user opts out of data colle {{#include ../../../shared/blockquote-info.html}} +##### Server applications use a different ping + +> Server-side Glean has no Glean-managed `client_id`, so it uses a separate +> `server-deletion-request` ping carrying application-defined identifiers instead. +> See [Adding Glean to your Server Application](../adding-glean-to-your-project/server.md#requesting-deletion-of-collected-data). + +{{#include ../../../shared/blockquote-info.html}} + ##### Adding secondary ids > It is possible to send secondary ids in the deletion request ping. For instance, if the application is migrating