Você está aqui:
Arquivar Apex – Direito ao Esquecimento (RTBF)
As normas de privacidade de dados concedem aos indivíduos o Direito ao esquecimento (RTBF), exigindo que as organizações apaguem com segurança dados pessoais mediante solicitação. O Apex Archive permite a conformidade identificando e excluindo dados específicos do aplicativo Arquivo, garantindo a remoção completa e preservando a integridade de outros dados arquivados.
Critérios de filtro de RTBF
Para processar uma solicitação de RTBF, especifique os critérios de filtro apropriados. Por exemplo:
| Critérios | Exemplo |
|---|---|
| Nome do campo | ID do funcionário |
| Objeto | Contato |
| Valor | ID 123456789011121314 |
Considerações importantes
- Os envios são limitados a 10 mil solicitações por dia com um limite de pesquisa de registro raiz de 10 mil.
- O processo de exclusão de RTBF se estende a registros filho diretamente e indiretamente relacionados em uma hierarquia.
- Os resultados da pesquisa sobrepostos podem marcar alguns registros como já excluídos no arquivo de auditoria.
- Se o limite de resultados de pesquisa for atingido, o status de atividade do Apex exibirá um código de status de
200com esse erro.Request processed. Maximum search results reached. Refine your search or submit a new request. - A maioria das solicitações RTBF padrão é concluída em 30 minutos.
- Para resultados ideais, direcione o objeto raiz.
- Os filtros Objeto e Nome do campo não diferenciam maiúsculas de minúsculas.
- O Arquivo não oferece suporte à exclusão parcial.
Comportamento de RTBF para registros filho em uma hierarquia arquivada
Ao executar uma solicitação RTBF em um registro filho, a solicitação remove toda a hierarquia arquivada associada a ela.
Por exemplo, se você pesquisar um registro de Caso específico e enviar uma solicitação de RTBF de Arquivo, a solicitação removerá o Caso, suas Tarefas associadas e seu registro raiz de Conta relacionado. Como esses registros foram arquivados juntos, o RTBF exclui toda a hierarquia arquivada.
No entanto, se a Conta tiver sido arquivada separadamente, a execução de RTBF no registro de Caso removerá apenas o Caso e suas Tarefas, mas não o registro de Conta.
Como o RTBF funciona
O processo RTBF é executado como um processo assíncrono e segue essas chamadas de API sequenciais.
- Identificação de dados – Consultas do Apex Arquivo para localizar todos os registros que correspondem aos critérios de filtro especificados.
- Exclusão de dados – O Apex envia uma solicitação de exclusão ao Arquivo, removendo todos os registros correspondentes.
Quando o processo é concluído, um ícone de atividade de RTBF aparece na guia Atividades no Console de arquivo.
Exemplo de solicitação de RTBF
Uma ex-funcionária, Maria Johnson, envia uma solicitação RTBF para excluir todos os dados pessoais do seu sistema. Sua empresa arquiva registros de funcionários junto com sua correspondência de email, interações com o cliente e atribuições de projeto. Para seguir a solicitação RTBF, use estes critérios de filtro.
| Objeto | Nome do campo | Valor |
|---|---|---|
| Contato | Maria@own.com | |
| Case | ID do funcionário | 987654321 |
| Tarefa | Atribuído a | Maria Johnson |
| Remetente | Maria@own.com | |
| Documento | Proprietário | Maria Johnson |
Essa solicitação garante a remoção completa dos dados de Maria, incluindo suas informações de contato, casos em que ela estava envolvida, tarefas atribuídas a ela e todos os registros de email e documentos vinculados a ela. Esse processo ajuda a manter a conformidade com os regulamentos de privacidade de dados enquanto garante uma exclusão completa e precisa de informações confidenciais.
Métodos de API e tratamento de resposta
Recomendamos validar seus critérios executando a consulta em Consultas de dados do Apex antes de enviar a solicitação de RTBF.
| Entrada | Saída | Definição |
|---|---|---|
ArchiverAccessorResponse |
|
A resposta da chamada da API Esqueceu. Retorna uma requestId para rastrear o status da solicitação usando o método getRTBFStatus. |
Criteria(sObjectName de cordas, fieldName de cordas, value de cordas) |
||
forgetArchivedRecords(list<Criteria>
inputFilters) |
ArchiverAccessorResponse |
Método público que cria uma solicitação Esquecer para Arquivar e uma lista de critérios a serem excluídos. |
getRTBFStatus(string requestId) |
Um relatório CSV contendo todos os detalhes das informações que foram excluídas. | Método público que permite que você acompanhe sua solicitação de RTBF. |
- Arquivar Apex – Executar uma solicitação RTBF
Teste manualmente o Apex de arquivo e execute uma solicitação RTBF no aplicativo Arquivo. - Arquivar Apex – Cenários de caso de uso de RTBF
Use cenários de caso para RTBF no aplicativo Arquivo. - Arquivar Apex – Anonimizar PII no aplicativo Arquivar
Anonimize informações de identificação pessoal (PII) em registros arquivados sem excluir o registro em si. A anonimização substitui valores confidenciais por espaços reservados irreversíveis para ajudá-lo a cumprir as normas de privacidade enquanto mantém a estrutura de registro do aplicativo Arquivo.
Arquivar Apex – Executar uma solicitação RTBF
Teste manualmente o Apex de arquivo e execute uma solicitação RTBF no aplicativo Arquivo.
- Clique no ícone Configurações.
- Selecione Developer Console.
-
Para abrir o console, pressione
F12ouCtrl+Shift+Ino Windows ouCmd+Eno Mac. -
No console, execute esse código para criar uma lista de critérios, enviar uma solicitação RTBF e obter a
requestIddo Arquivo.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); -
Clique em Execute (Executar).
A solicitação começa. Quando concluída, a
requestIdé armazenada no Registro de execução.
Visualizar o status da solicitação de RTBF
Depois de enviar uma solicitação RTBF, você poderá visualizar o status da solicitação.
- No canto superior direito da página, clique no ícone Configurações.
- Selecione Developer Console.
-
Pressione
Command + E. -
Usando o
requestIdpara sua solicitação RTBF, execute este código.SF_Archive.ArchiverAccessorResponse reportResponse = SF_Archive.ArchiverAccessor.getRTBFStatus(requestId); system.debug(reportResponse.getBody()); -
Clique em Execute (Executar).
A solicitação de status começa. Quando concluído, um desses status é exibido no Registro de execução.
Request failed, please contact support.A solicitação falhou e falhou.
Request handled, no matching results were found.:Não havia registros que correspondessem aos critérios especificados.
Request is open. Scan is still in progress.A solicitação ainda está em andamento.
Quando a solicitação for concluída com êxito, você receberá um relatório CSV contendo todos os detalhes das informações que foram excluídas.
O relatório CSV contém estas informações.
| Campo | Descrição |
|---|---|
| Registro de critérios | O campo de registro que corresponde aos critérios de exclusão da solicitação. |
| Tipo de registro de critérios | Os critérios da solicitação. |
| ID do Salesforce relacionado que provocou exclusão | A linha referida por outro registro na tabela que também corresponde aos critérios. |
| ID do Salesforce | O ID do registro contido na linha do relatório. |
| Status | Indica se o registro foi excluído ou não. |
Erros comuns de RTBF
Critérios inválidos
- O campo deve corresponder a um objeto.
- Não é permitido mais de um critério com o mesmo objeto.
- Você pode enviar até 10 critérios por solicitação.
Nenhum resultado
- O valor não pode ser parcial.
- Os critérios devem ser do tipo de registro que foi arquivado.
Por exemplo, se você tiver uma Conta com X de ID e arquivar os casos que pertencem a essa ID, deverá excluir os casos que pertencem a essa Conta. Para fazer isso, crie esses critérios de filtro.
Object type: Case, field: AccountId, value: XObject type: Account, field: Id, value: XEsse critério não exclui nada porque Arquivo não tem a Conta relevante.Arquivar Apex – Cenários de caso de uso de RTBF
Use cenários de caso para RTBF no aplicativo Arquivo.
Cenário 1: RTBF com vários objetos
Jane Doe é cliente do XYZ Bank, onde ela tem uma conta nos últimos dois anos. Recentemente, ela decidiu que deseja exercer sua RTBF sob o Regulamento geral de proteção de dados (GDPR). Jane acredita que o banco tem dados pessoais desnecessários sobre ela e quer que eles sejam apagados de seus registros.
Jane envia sua solicitação de RTBF ao XYZ Bank e especifica os dados pessoais que ela deseja que sejam apagados, que podem incluir informações da conta, histórico de transações e quaisquer outros dados pessoais mantidos pelo banco. O banco avança para identificar e localizar os dados pessoais de Jane.
| Critérios | Filtro | Filtro | Filtro | Filtro |
|---|---|---|---|---|
| Objeto | Conta | Transaction_c | Case | |
| Nome do campo | Nome completo | Usuário da transação | Nome do cliente | De |
| Valor | Jane Doe | Jane Doe | Jane Doe | Jane Doe |
A solicitação RTBF pode conter até 10 objetos separados.
Resultados:
O Arquivo encontra 1 conta, 2 mil transações, 15 casos como raiz e 30 emails.
Cenário 2: objeto único RTBF
Uma empresa farmacêutica lançou um medicamento experimental, o Elixir de Eddy, para tratar a artrite. No entanto, isso resultou em reações adversas graves entre os pacientes. Após o recall do medicamento, a empresa enviou uma solicitação RTBF para remover todos os registros públicos e conteúdo digital relacionados ao Elixirs de Eddy.
| Critérios | Filtro |
|---|---|
| Objeto | Caso |
| Nome do campo | Nome do medicamento |
| Valor | Elixires de Eddy |
Resultados:
O Arquivo encontra 1.000 casos como raiz e 1.000 registros de pacientes arquivados abaixo da raiz como registros filho. Ele remove todos eles.
Uma atividade é criada na guia Atividades do console de arquivo, mostrando o ícone RTBF.
Cenário 3: RTBF com mais de 10 mil registros raiz encontrados
Emily Jones, um usuário regular de uma popular plataforma de mídia social chamada ConnectWorld, desativa sua conta e solicita que ela exerça seu RTBF sob normas de proteção de dados.
| Objeto | Filtro | Filtro | Filtro |
|---|---|---|---|
| Objeto | Conta de usuário | Contato | Caso |
| Nome do campo | Nome | Phone | ID relacionado |
| Valor | ID da conta para Emily Jones | Número de telefone da Emily | ID da conta para Emily Jones |
Resultados:
O Arquivo encontra 20.000 registros de Caso raiz, 300.000 Contatos e 10.000 Casos como raizes e 150.000 Contatos arquivados abaixo da raiz como registros filho são removidos.
Uma atividade é criada na guia Atividades do console de arquivo, mostrando o ícone RTBF.
getRTBFStatus retorna um código de status 200 com a mensagem de erro "Solicitação processada. Máximo de resultados da pesquisa alcançados. Refine sua pesquisa ou envie uma nova solicitação para ver mais registros".
O Arquivo pode processar apenas até 10 mil registros raiz por solicitação do Apex RTBF. Para resolver esse erro, execute a consulta novamente para recuperar os registros restantes.
Arquivar Apex – Anonimizar PII no aplicativo Arquivar
Anonimize informações de identificação pessoal (PII) em registros arquivados sem excluir o registro em si. A anonimização substitui valores confidenciais por espaços reservados irreversíveis para ajudá-lo a cumprir as normas de privacidade enquanto mantém a estrutura de registro do aplicativo Arquivo.
A anonimização, também conhecida como mascaramento, ajuda a cumprir solicitações de privacidade, como o Direito de ser esquecido (RTBF). Esse processo realiza uma atualização no local em registros arquivados. Diferentemente de uma ação de limpeza, que exclui dados permanentemente, a anonimização substitui valores confidenciais específicos por texto genérico, como redacted@example.com.
Como a anonimização funciona
O sistema detecta campos de PII, como Nome, Email, Telefone e Endereço, usando metadados de objeto. Quando você envia uma solicitação, o sistema mascara valores de PII originais com espaços reservados irreversíveis. Dados não PII, como IDs de registro e carimbos de data e hora, permanecem inalterados e pesquisáveis.
A anonimização é abrangente. Quando você anonimizar um registro raiz, o processo de anonimização será automaticamente encaixado em cascata para todos os registros filho relacionados dentro da mesma hierarquia arquivada. Por exemplo, anonimizar um registro de Contato também anonimizará a PII nos Tarefas e eventos relacionados desse registro.
Considerações importantes
- O processo de anonimização é permanente. Não é possível recuperar nem visualizar valores de PII originais após a anonimização.
- Você pode anonimizar um registro apenas uma vez. Se você enviar uma solicitação duplicada para um registro anônimo, o sistema o ignorará.
- A anonimização compartilha o limite padrão de taxa de RTBF de Arquivo de 10 mil solicitações por organização por dia.
- Não é possível selecionar manualmente os campos a serem anonimizados. O sistema identifica campos de PII automaticamente com base no algoritmo Recover.
- Não é possível anonimizar registros legalmente mantidos. O sistema exclui automaticamente registros que estão em retenção legal ou bloqueio de retenção.
Enviar uma solicitação de anonimato
Defina seus critérios de destino e envie um trabalho de anonimato usando a classe do Apex SF_Archive.ArchiverAccessor.
Você deve cumprir estes requisitos.
- O usuário que executa o Apex code tem permissão para acessar o namespace
SF_Archive. - Acesso ao Developer Console ou a um IDE para executar Executar Apex anônimo.
- Abra o Developer Console ou a ferramenta de execução do Apex preferida.
- Abra uma janela Executar anônimo.
-
Para definir os critérios e enviar a solicitação, execute este código. Esse bloco de código anonimiza o campo de endereço de email em um registro de Contato.
// 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 status de anonimato
Verifique o status do trabalho de anonimato e gere um relatório de auditoria usando o ID da solicitação gerado durante o envio.
A anonimização é um processo assíncrono. Depois de enviar uma solicitação, use o ID da solicitação retornada para acompanhar seu progresso e verificar os resultados.
-
Para verificar o status do trabalho de anonimato, execute esse código na janela Executar 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 gerar um relatório de auditoria após a conclusão do trabalho de anonimato, execute esse código na janela Executar anônimo.
String requestId = 'YOUR_REQUEST_ID_HERE'; String report = SF_Archive.ArchiverAccessor.getMaskingReport(requestId); System.debug('Anonymization Audit Report: ' + report);
Resultados de anonimato
Revise como os campos de PII aparecem após a conclusão do processo de anonimato. Quando o status do trabalho é HANDLED, o sistema atualiza os dados arquivados imediatamente.
- Pesquisas que usam a PII original, como um endereço de email, não retornam resultados.
- Pesquisas que usam identificadores não confidenciais, como um ID de registro, retornam o registro anônimo.
- Quando você visualiza o registro por meio de Pesquisar, Exportar ou Unarchive, os campos de PII mostram valores de espaço reservado.
| Campo | Valor original | Valor anonimizado |
|---|---|---|
| Nome completo | Mickey Mouse | redacted_first_name |
| mickey.mouse@exemplo.com | redacted@example.com | |
| Telefone | +1-415-555-1234 | 000-000-0000 |
| ContactId | 003XX0000123AbC | 003XX0000123AbC |

