Privacy Rights #

To comply with privacy rights (GDPR, CCPA) Pragma Engine offers the following:

Account deletion #

You can delete a player’s Pragma account. The following Operator, Partner, and Service endpoints are available for account deletion:

  • AccountRpc.DeleteAccountOperatorV1Request
  • AccountRpc.DeleteAccountPartnerV1Request
  • AccountRpc.DeleteAccountServiceV1Request

These endpoints delete the player’s social identity, links to third party accounts, links to game identities, and all accompanying PII (personally identifiable information). In addition, calling these endpoints can be used to reset a Pragma account in a test environment.

This process is irreversible. All PII is permanently removed and can not be retrieved from the Pragma Engine database.

Delete an account in Operator Portal #

  1. From the Social Operator Portal, click Services, then click Accounts.
  2. Click on the relevant player name to view individual account information.
  3. Under the Delete Account section click Delete Account.
  4. Enter the account discriminator and click Delete Account.

Send players their personal data #

You can send a player a download link containing their data package. Pragma Engine’s Data Rights service enables Operators to start a personal data request for a player’s account in the Social Operator Portal. Operators can then monitor the status of the request as the data is compiled; this data includes linked identity providers, social and game identifiers, order history, friends list, and accompanying PII (personally identifiable information). Once all the data is collected, a link will be generated that can be sent to the player by an Operator. The player can then download their data package using an encrypted token that has an expiration date.

The download link automatically expires after a configurable amount of time; the default expiration is set to 7 days.
  1. From the Social Pragma Portal, click Services, then click Accounts.
  2. Click on the relevant player name to view individual account information.
  3. Under the Data Rights section click on the active request when it has a status set to Ready.
  4. Click the Copy Link button to copy the download link.

Below is a table with the available Data Rights service endpoints:

CallDescription
DataRightsRpc.SubmitRequestV1RequestSubmits a data request for the player requesting.
DataRightsRpc.SubmitRequestOperatorV1Request, DataRightsRpc.SubmitRequestPartnerV1Request, DataRightsRpc.SubmitRequestServiceV1RequestSubmits a data request for a specific player account. This requires sending the desired player’s social ID.
DataRightsRpc.GetRequestsOperatorV1Request, DataRightsRpc.GetRequestsPartnerV1Request, DataRightsRpc.GetRequestsServiceV1RequestRetrieves all data requests for a specific player’s account.
DataRightsRpc.GetPersonalDataPackageOperatorV1Request, DataRightsRpc.GetPersonalDataPackagePartnerV1Request, DataRightsRpc.GetPersonalDataPackageServiceV1RequestStarts the process of compiling the player’s account data.
DataRightsRpc.GenerateDownloadUrlAndTokenOperatorV1Request, DataRightsRpc.GenerateDownloadUrlAndTokenPartnerV1Request, DataRightsRpc.GenerateDownloadUrlAndTokenServiceV1RequestGenerates a download link that contains the player’s data package.
Example: Data Rights service config
social:
  serviceConfigs:
    DataRightsServiceConfig: 
      waitingPeriodInDays:
        accountDeletion: 30 # default value
        personalData: 28 # default value
      downloadLinkLifespanInDays: 7 # default value
      downloadEndpoint: "http://localhost:11000/v1/datapackage"

Data Rights Social Plugin #

All personal data requests go through the Data Rights Social Plugin. The default Data Rights Social Plugin collects linked identity providers, social and game identifiers, order history, friends list, and accompanying PII (personally identifiable information).

The buildPersonalDataReport method is called to generate a report; this method is used to customize what social data is sent to players in their data package.

suspend fun buildPersonalDataReport(
  socialId: SocialId,
  requestId: UUID,
): PersonalDataReport
By default, the Data Rights Social Plugin will collect all Pragma Engine-provided player social data for the personal data package.

When the buildPersonalDataReport method returns a PersonalDataReport, the data defined is collected and stored for the user and the request is marked successful. If the method throws an exception, the request status is marked as failed and a new request must be made.

Configure the Data Rights Social Plugin #

To enable and configure your custom Data Rights Social Plugin, you’ll need to add the following to your social config:

social:
  pluginConfigs:
    DataRightsService.dataRightsSocialPlugin:
      class: "demo.datarights.DemoDataRightsSocialPlugin"