Usted está aquí:
Archive Apex: Derecho al olvido (RTBF)
Las leyes de privacidad de datos otorgan a las personas el Derecho al olvido (RTBF), requiriendo que las organizaciones borren datos personales de forma segura bajo solicitud. Archive Apex permite el cumplimiento identificando y eliminando datos específicos de la aplicación Archive, garantizando la eliminación exhaustiva preservando la integridad de otros datos archivados.
Criterios de filtro RTBF
Para procesar una solicitud RTBF, especifique los criterios de filtro apropiados. Por ejemplo:
| Criterios | Ejemplo |
|---|---|
| Nombre del campo | Id. de empleado |
| Objeto | Contacto |
| Valor | ID. 123456789011121314 |
Consideraciones importantes
- Los envíos están limitados a 10.000 solicitudes al día con un límite de búsqueda de 10.000 registros raíz.
- El proceso de eliminación de RTBF se amplía a registros secundarios relacionados directa e indirectamente dentro de una jerarquía.
- La superposición de resultados de búsqueda puede marcar algunos registros como ya eliminados en el archivo de auditoría.
- Si se alcanza el límite de resultados de búsqueda, el estado de actividad Apex muestra un código de estado de
200con este error.Request processed. Maximum search results reached. Refine your search or submit a new request. - La mayoría de las solicitudes RTBF estándar se completan en 30 minutos.
- Para obtener resultados óptimos, diríjase al objeto raíz.
- Los filtros Nombre de campo y Objeto no distinguen entre mayúsculas y minúsculas.
- Archive no admite la eliminación parcial.
Comportamiento de RTBF para registros secundarios en una jerarquía archivada
Al ejecutar una solicitud RTBF en un registro secundario, la solicitud elimina toda la jerarquía archivada asociada con ella.
Por ejemplo, si busca un registro de Caso específico y envía una solicitud Archive RTBF, la solicitud elimina el registro raíz Caso, sus tareas asociadas y su cuenta relacionada. Como estos registros se archivaron juntos, RTBF elimina toda la jerarquía archivada.
Sin embargo, si la Cuenta se archivó por separado, la ejecución de RTBF en el registro Caso solo elimina el Caso y sus Tareas, pero no el registro Cuenta.
Cómo funciona RTBF
El proceso RTBF se ejecuta como un proceso asíncrono y sigue estas llamadas de API secuenciales.
- Identificación de datos: las consultas Apex Archivan para localizar todos los registros que coinciden con los criterios de filtro especificados.
- Eliminación de datos: Apex envía una solicitud de eliminación a Archivar, eliminando todos los registros coincidentes.
Cuando el proceso está completo, aparece un icono de actividad de RTBF bajo la ficha Actividades en Archivar consola.
Ejemplo de solicitud RTBF
Una antigua empleada, Maria Johnson, envía una solicitud RTBF para eliminar todos los datos personales de su sistema. Su compañía archiva registros de empleados junto con su correspondencia de email, interacciones de clientes y asignaciones de proyectos. Para seguir la solicitud RTBF, utilice estos criterios de filtro.
| Objeto | Nombre del campo | Valor |
|---|---|---|
| Contacto | Maria@own.com | |
| Caso | Id. de empleado | 987654321 |
| Tarea | Asignado a | Maria Johnson |
| Remitente | Maria@own.com | |
| Documento | Propietario | Maria Johnson |
Esta solicitud garantiza la eliminación completa de los datos de María, incluyendo su información de contacto, casos en los que estuvo involucrada, tareas asignadas a ella y todos los registros de email y documentos vinculados a ella. Este proceso ayuda a mantener el cumplimiento de las leyes de privacidad de datos garantizando al mismo tiempo una eliminación exhaustiva y precisa de información confidencial.
Métodos de API y gestión de respuestas
Recomendamos validar sus criterios ejecutando la consulta en consultas de datos Apex antes de enviar la solicitud RTBF.
| Entrada | Resultado | Definición |
|---|---|---|
ArchiverAccessorResponse |
|
La respuesta de la llamada Olvidar API. Devuelve un requestId para realizar un seguimiento del estado de la solicitud utilizando el método getRTBFStatus. |
Criteria(sObjectName de cadena, fieldName de cadena, value de cadena) |
||
forgetArchivedRecords(list<Criteria>
inputFilters) |
ArchiverAccessorResponse |
Método público que crea una solicitud Olvidar para archivar y una lista de criterios para eliminar. |
getRTBFStatus(string requestId) |
Un reporte CSV que contiene todos los detalles de la información que se eliminó. | Método público que le proporciona la capacidad de realizar un seguimiento con su solicitud RTBF. |
- Archive Apex: Ejecutar una solicitud RTBF
Pruebe manualmente Archive Apex y ejecute una solicitud RTBF en la aplicación Archive. - Archivar Apex: Escenarios de casos de uso de RTBF
Utilice escenarios de casos para RTBF en la aplicación Archivar. - Archive Apex: Anonimizar la PII en la aplicación Archive
Anonimice la información de identificación personal (PII) en registros archivados sin eliminar el registro en sí. La anonimización sustituye valores confidenciales por marcadores de posición irreversibles para ayudarle a cumplir las leyes de privacidad mientras mantiene la estructura de registros de la aplicación Archivar.
Archive Apex: Ejecutar una solicitud RTBF
Pruebe manualmente Archive Apex y ejecute una solicitud RTBF en la aplicación Archive.
- Haga clic en el icono Configuración.
- Seleccione Developer Console.
-
Para abrir la consola, pulse
F12oCtrl+Shift+Ien Windows oCmd+Een Mac. -
En la consola, ejecute este código para crear una lista de criterios, enviar una solicitud RTBF y obtener el
requestIddesde Archivar.SF_Archive.Criteria criteria1 = new SF_Archive.Criteria('Account', 'Name', 'example name'); list<SF_Archive.Criteria> lst = new list<SF_Archive.Criteria>(); lst.add(criteria1); SF_Archive.ArchiverAccessorResponse response = SF_Archive.ArchiverAccessor.forgetArchivedRecords(lst); Map<String, String> values = (Map<String, String>)JSON.deserialize(response.getBody(), Map<String, String>.class); String requestId = values.get('request_id'); system.debug(requestId); -
Haga clic en Ejecutar.
Comienza la solicitud. Cuando se completa, el
requestIdse almacena en el Registro de ejecución.
Ver el estado de la solicitud RTBF
Después de enviar una solicitud RTBF, puede ver el estado de la solicitud.
- En la parte superior derecha de la página, haga clic en el icono Configuración.
- Seleccione Developer Console.
-
Pulse
Command + E. -
Utilizando el
requestIdpara su solicitud RTBF, ejecute este código.SF_Archive.ArchiverAccessorResponse reportResponse = SF_Archive.ArchiverAccessor.getRTBFStatus(requestId); system.debug(reportResponse.getBody()); -
Haga clic en Ejecutar.
Comienza la solicitud de estado. Cuando se completa, uno de estos estados se muestra en el Registro de ejecución.
Request failed, please contact support.La solicitud no se realizó correctamente y falló.
Request handled, no matching results were found.:No se encontraron registros que coincidan con los criterios especificados.
Request is open. Scan is still in progress.La solicitud aún está en curso.
Cuando la solicitud finaliza correctamente, recibe un reporte CSV que contiene todos los detalles de la información que se eliminó.
El reporte CSV contiene esta información.
| Campo | Descripción |
|---|---|
| Registro de criterios | El campo de registro que coincide con los criterios de eliminación de la solicitud. |
| Tipo de registro Criterios | Los criterios de la solicitud. |
| Id. de Salesforce relacionado que provocó la eliminación | La fila a la que hace referencia otro registro en la tabla que también coincide con los criterios. |
| Id. de Salesforce | El Id. del registro contenido en la fila del reporte. |
| Estado | Indica si el registro se eliminó o no. |
Errores comunes de RTBF
Criterios no válidos
- El campo debe coincidir con un objeto.
- No se permite más de un criterio con el mismo objeto.
- Puede enviar hasta 10 criterios por solicitud.
Sin resultados
- El valor no puede ser parcial.
- Los criterios deben ser del tipo de registro archivado.
Por ejemplo, si tiene una Cuenta con X de Id. y archivó los casos que pertenecen a ese Id., debe excluir los casos que pertenecen a esa Cuenta. Para lograr esto, cree estos criterios de filtro.
Object type: Case, field: AccountId, value: XObject type: Account, field: Id, value: XEste criterio no elimina nada porque Archivar no tiene la Cuenta relevante.Archivar Apex: Escenarios de casos de uso de RTBF
Utilice escenarios de casos para RTBF en la aplicación Archivar.
Escenario 1: RTBF con múltiples objetos
Jane Doe es cliente de XYZ Bank, donde ha tenido una cuenta durante los últimos 2 años. Recientemente, decidió que desea ejercer su RTBF bajo el Reglamento General de Protección de Datos (RGPD). Jane cree que el banco tiene datos personales innecesarios sobre ella y desea que se borren de sus registros.
Jane envía su solicitud de RTBF a XYZ Bank y especifica los datos personales que desea eliminar, que pueden incluir información de cuenta, historial de transacciones y cualquier otro dato personal en poder del banco. El banco procede a identificar y localizar los datos personales de Jane.
| Criterios | Filtro | Filtro | Filtro | Filtro |
|---|---|---|---|---|
| Objeto | Cuenta | Transaction_c | Caso | |
| Nombre del campo | Nombre | Usuario de transacción | Nombre de cliente | From |
| Valor | Jane Doe | Jane Doe | Jane Doe | Jane Doe |
La solicitud RTBF puede contener hasta 10 objetos separados.
Resultados:
Archivar encuentra 1 Cuenta, 2.000 Transacciones, 15 Casos como raíz y 30 emails.
Escenario 2: Objeto único RTBF
Una compañía farmacéutica lanzó un medicamento experimental, Elixires de Eddy, para tratar la artritis. Sin embargo, produjo reacciones adversas graves entre los pacientes. Tras recuperar el medicamento, la compañía envió una solicitud de RTBF para eliminar todos los registros públicos y contenido digital relacionado con los Elixires de Eddy.
| Criterios | Filtro |
|---|---|
| Objeto | Caso |
| Nombre del campo | Nombre de medicamento |
| Valor | Elixires de Eddy |
Resultados:
Archive encuentra 1.000 casos como raíz y 1.000 registros de pacientes archivados debajo de la raíz como registros secundarios. Los elimina todos.
Se crea una actividad en la ficha Archivar actividades de la consola, mostrando el icono RTBF.
Escenario 3: RTBF Se han encontrado más de 10.000 registros raíz
Emily Jones, una usuaria habitual de una popular plataforma de redes sociales llamada ConnectWorld, desactiva su cuenta y solicita ejercer su RTBF bajo leyes de protección de datos.
| Objeto | Filtro | Filtro | Filtro |
|---|---|---|---|
| Objeto | Cuenta de usuario | Contacto | Caso |
| Nombre del campo | Nombre | Phone | Id. relacionado |
| Valor | Id. de cuenta para Emily Jones | El número de teléfono de Emily | Id. de cuenta para Emily Jones |
Resultados:
Archive encuentra 20.000 registros de Caso raíz, 300.000 Contactos y 10.000 Casos como raíces y 150.000 Contactos archivados debajo de la raíz cuando se eliminan registros secundarios.
Se crea una actividad en la ficha Archivar actividades de la consola, mostrando el icono RTBF.
getRTBFStatus devuelve un código de estado 200 con el mensaje de error "Solicitud procesada. Máximo de resultados de búsqueda alcanzados. Restrinja su búsqueda o envíe una nueva solicitud para ver más registros".
Archive solo puede procesar hasta 10.000 registros raíz por solicitud Apex RTBF. Para resolver este error, ejecute la consulta de nuevo para recuperar los registros restantes.
Archive Apex: Anonimizar la PII en la aplicación Archive
Anonimice la información de identificación personal (PII) en registros archivados sin eliminar el registro en sí. La anonimización sustituye valores confidenciales por marcadores de posición irreversibles para ayudarle a cumplir las leyes de privacidad mientras mantiene la estructura de registros de la aplicación Archivar.
La anonimización, también conocida como enmascaramiento, le ayuda a cumplir con solicitudes de privacidad, como Derecho al olvido (RTBF). Este proceso realiza una actualización in situ en registros archivados. A diferencia de una acción de purga, que elimina datos de forma permanente, la anonimización sustituye valores confidenciales específicos por texto genérico, como redacted@example.com.
Cómo funciona la anonimización
El sistema detecta campos de PII, como Nombre, Email, Teléfono y Dirección, utilizando metadatos de objetos. Cuando envía una solicitud, el sistema enmascara valores de PII originales con marcadores de posición irreversibles. Los datos que no son de PII, como los Id. de registro y las marcas de tiempo, permanecen sin cambios y se pueden buscar.
La anonimización es integral. Cuando anonimiza un registro raíz, el proceso de anonimización cae automáticamente en cascada en todos los registros secundarios relacionados dentro de la misma jerarquía archivada. Por ejemplo, la anonimización de un registro Contacto también anonimiza la PII en Tareas y eventos relacionados de ese registro.
Consideraciones importantes
- El proceso de anonimización es permanente. No puede recuperar o ver valores de PII originales después de la anonimización.
- Puede anonimizar un registro solo una vez. Si envía una solicitud duplicada para un registro anónimo, el sistema la ignora.
- La anonimización comparte el límite de frecuencia estándar Archive RTBF de 10.000 solicitudes por organización al día.
- No puede seleccionar manualmente campos para anonimizar. El sistema identifica campos de PII automáticamente basándose en el algoritmo Recuperar.
- No puede anonimizar registros que se mantienen legalmente. El sistema excluye automáticamente registros actualmente bajo retención legal o bloqueo de retención.
Enviar una solicitud de anonimización
Defina sus criterios de destino y envíe un trabajo de anonimización utilizando la clase Apex SF_Archive.ArchiverAccessor.
Asegúrese de que cumple los requisitos que se indican a continuación.
- El usuario que ejecuta el código Apex tiene permiso para acceder al espacio de nombres
SF_Archive. - Acceso a Developer Console o un IDE para ejecutar Execute Anonymous Apex.
- Abra Developer Console o su herramienta de ejecución Apex preferida.
- Abra una ventana Ejecutar anónima.
-
Para definir los criterios y enviar la solicitud, ejecute este código. Este bloque de código anonimiza el campo de dirección de email en un registro Contacto.
// 1. Define the criteria for the records to anonymize. // Syntax: new Criteria('ObjectAPIName', 'FieldAPIName', 'ValueToMatch'); List<SF_Archive.Criteria> criteriaList = new List<SF_Archive.Criteria>(); // Example: Anonymize a specific Contact by Email criteriaList.add(new SF_Archive.Criteria( 'Contact', 'Email', 'mickey.mouse@example.com' )); // 2. Submit the anonymization request. SF_Archive.ArchiverAccessorResponse response = SF_Archive.ArchiverAccessor.maskArchivedRecords(criteriaList); // 3. Process the response to get the request ID. Map<String, String> values = (Map<String, String>)JSON.deserialize(response.getBody(), Map<String, String>.class); String requestId = values.get('request_id'); // Output the request ID for tracking. System.debug('Anonymization Job Submitted. Request ID: ' + requestId);
Verificar el estado de anonimización
Compruebe el estado de su trabajo de anonimización y genere un reporte de auditoría utilizando el Id. de solicitud generado durante el envío.
La anonimización es un proceso asíncrono. Después de enviar una solicitud, utilice el Id. de solicitud devuelto para realizar un seguimiento de su progreso y verificar los resultados.
-
Para comprobar el estado del trabajo de anonimización, ejecute este código en la ventana Ejecutar anónimo.
// Paste the Request ID found in the Debug Log from the anonymization request. // Example: String requestId = '0Qn5e000000abcD'; String requestId = 'YOUR_REQUEST_ID_HERE'; // Check the status. String statusResponse = SF_Archive.ArchiverAccessor.getMaskingStatus(requestId); System.debug('Anonymization Job Status: ' + statusResponse); -
Para generar un reporte de auditoría tras completar el trabajo de anonimización, ejecute este código en la ventana Ejecutar anónima.
String requestId = 'YOUR_REQUEST_ID_HERE'; String report = SF_Archive.ArchiverAccessor.getMaskingReport(requestId); System.debug('Anonymization Audit Report: ' + report);
Resultados de anonimización
Revise cómo aparecen los campos de PII tras completar el proceso de anonimización. Cuando el estado del trabajo es HANDLED, el sistema actualiza los datos archivados inmediatamente.
- Las búsquedas que utilizan la PII original como una dirección de email no devuelven resultados.
- Las búsquedas que utilizan identificadores no confidenciales como un Id. de registro devuelven el registro anónimo.
- Cuando visualiza el registro a través de Buscar, Exportar o Desarchivar, los campos de PII muestran valores de marcador de posición.
| Campo | Valor original | Valor anónimo |
|---|---|---|
| Nombre | Ratón Mickey | redacted_first_name |
| mickey.mouse@ejemplo.com | redacted@ejemplo.com | |
| Teléfono | +1-415-555-1234 | 000-000-0000 |
| ContactId | 003XX0000123AbC | 003XX0000123AbC |

