Du är här:
Arkivera Apex – Rätten att glömmas bort (RTBF)
Datasekretessregler ger individer rätten att glömmas bort (RTBF), vilket kräver att organisationer tar bort personuppgifter på ett säkert sätt på begäran. Arkivera Apex aktiverar efterlevnad genom att identifiera och ta bort specifika data från appen Arkivera, vilket säkerställer noggrann borttagning samtidigt som andra arkiverade data bevaras.
RTBF-filterkriterier
För att bearbeta en RTBF-begäran, specificera lämpliga filterkriterier. Till exempel:
| Kriterier | Exempel |
|---|---|
| Fältnamn | ID för anställd |
| Objekt | Kontakt |
| Värde | ID 123456789011121314 |
Viktiga överväganden
- Inskickningar är begränsade till 10 000 förfrågningar per dag med en sökgräns på 10 000 rotposter.
- Borttagningsprocessen för RTBF utökas till direkt och indirekt relaterade underordnade poster inom en hierarki.
- Överlappande sökresultat kan markera vissa poster som redan borttagna i granskningsfilen.
- Om sökresultatgränsen uppnås visar Apex aktivitetsstatus en
200med detta fel.Request processed. Maximum search results reached. Refine your search or submit a new request. - De flesta standard RTBF-begäranden slutförs inom 30 minuter.
- För optimala resultat, rikta in dig på rotobjektet.
- Filtren Objekt och Fältnamn är inte skiftlägeskänsliga.
- Arkivering har inte stöd för delvis borttagning.
RTBF-beteende för underordnade poster i en arkiverad hierarki
När en RTBF-begäran utförs för en underordnad post tar begäran bort hela den arkiverade hierarkin som är associerad med den.
Om du till exempel söker efter en specifik kundcasepost och skickar in en RTBF-begäran för arkivering tar begäran bort kundcaset, dess associerade uppgifter och dess relaterade kontorotpost. Eftersom dessa poster arkiverades tillsammans tar RTBF bort hela den arkiverade hierarkin.
Om Kontot arkiverades separat tar dock körning av RTBF för kundcaseposten endast bort Kundcaset och dess uppgifter, men inte kontoposten.
Hur RTBF fungerar
RTBF-processen körs som en asynkron process och följer dessa sekventiella API-anrop.
- Dataidentifiering—Apex sökfrågearkiv för att hitta alla poster som matchar de specificerade filterkriterierna.
- Databorttagning—Apex skickar en begäran om borttagning till Arkiv och tar bort alla matchande poster.
När processen är klar visas en RTBF-aktivitetsikon under fliken Aktiviteter i Archive Console.
Exempel på RTBF-begäran
En tidigare anställd, Maria Johnson, skickar en RTBF-begäran för att ta bort alla personuppgifter från ditt system. Ditt företag arkiverar medarbetarposter tillsammans med deras e-postkorrespondens, kundinteraktioner och projekttilldelningar. För att följa RTBF-begäran, använd detta filterkriterium.
| Objekt | Fältnamn | Värde |
|---|---|---|
| Kontakt | E-post | Maria@own.com |
| Kundcase | ID för anställd | 987654321 |
| Uppgift | Assigned to (Tilldelad till) | Maria Johnson |
| E-post | Avsändare | Maria@own.com |
| Dokument | Ägare | Maria Johnson |
Denna begäran säkerställer fullständig borttagning av Marias data, inklusive hennes kontaktuppgifter, kundcase hon var inblandad i, uppgifter tilldelade henne och alla e-post- och dokumentposter länkade till henne. Denna process hjälper till att upprätthålla efterlevnaden av datasekretessföreskrifter samtidigt som den säkerställer en grundlig och korrekt borttagning av känslig information.
API-metoder och svarshantering
Vi rekommenderar att validera dina kriterier genom att köra sökfrågan för Apex datafrågor innan du skickar RTBF-begäran.
| Indata | Utdata | Definition |
|---|---|---|
ArchiverAccessorResponse |
|
Svaret från Glöm API-anropet. Returnerar en requestId för att följa status för begäran med hjälp av getRTBFStatus. |
Criteria(sträng sObjectName, sträng fieldName, sträng value) |
||
forgetArchivedRecords(list<Criteria>
inputFilters) |
ArchiverAccessorResponse |
Offentlig metod som skapar en Glöm begäran att arkivera och en lista över kriterier att ta bort. |
getRTBFStatus(string requestId) |
En CSV-rapport som innehåller alla detaljer om den information som tagits bort. | Offentlig metod som ger dig möjligheten att följa upp din RTBF-begäran. |
- Arkivera Apex—Kör en RTBF-begäran
Testa Arkivera Apex manuellt och kör en RTBF-begäran i appen Arkivera. - Arkivera Apex—RTBF-användningsscenarion
Använd kundcasescenarion för RTBF i appen Arkiv. - Arkivera Apex—Anonymisera PII i arkivappen
Anonymisera personligt identifierande information (PII) i arkiverade poster utan att ta bort själva posten. Anonymisering ersätter känsliga värden med platshållare som inte går att ångra för att hjälpa dig följa sekretessföreskrifter samtidigt som poststrukturen i appen Arkivera behålls.
Arkivera Apex—Kör en RTBF-begäran
Testa Arkivera Apex manuellt och kör en RTBF-begäran i appen Arkivera.
- Klicka på ikonen Inställningar.
- Välj Developer Console.
-
För att öppna konsolen, tryck på
F12ellerCtrl+Shift+Ii Windows ellerCmd+Epå Mac. -
I konsolen, kör denna kod för att skapa en kriterielista, skicka en RTBF-begäran och hämta
requestIdfrån Arkiv.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); -
Klicka på Execute [Kör].
Begäran börjar. När det är klart lagras
requestIdi utförandeloggen.
Visa status för RTBF-begäran
När du har skickat en RTBF-begäran kan du se status för begäran.
- Högst upp till höger på sidan, klicka på ikonen Inställningar.
- Välj Developer Console.
-
Tryck på
Command + E. -
Kör denna kod med hjälp av
requestIdför din RTBF-begäran.SF_Archive.ArchiverAccessorResponse reportResponse = SF_Archive.ArchiverAccessor.getRTBFStatus(requestId); system.debug(reportResponse.getBody()); -
Klicka på Execute [Kör].
Statusbegäran börjar. När det är klart visas en av dessa statusar i utförandeloggen.
Request failed, please contact support.Begäran misslyckades och misslyckades.
Request handled, no matching results were found.:Det fanns inga poster som matchade de specificerade kriterierna.
Request is open. Scan is still in progress.Begäran pågår fortfarande.
När begäran har slutförts får du en CSV-rapport med alla detaljer om den information som har tagits bort.
CSV-rapporten innehåller denna information.
| Fält | Beskrivning |
|---|---|
| Kriteriepost | Det postfält som matchar borttagningskriterierna för begäran. |
| Posttyp för kriterium | Kriterierna för begäran. |
| Relaterat Salesforce-ID som utlöste borttagning | Raden som refereras av en annan post i tabellen som också matchar kriterierna. |
| Salesforce-ID | ID för posten i rapportraden. |
| Status | Indikerar om posten har tagits bort eller inte. |
Vanliga fel i RTBF
Ogiltiga kriterier
- Fältet måste matcha ett objekt.
- Högst ett kriterium med samma objekt tillåts.
- Du kan skicka upp till 10 kriterier per begäran.
Inga resultat
- Värdet kan inte vara delvis.
- Kriterier måste vara av posttyp som har arkiverats.
Om du till exempel har ett konto med ID X och du har arkiverat kundcase som hör till det ID:t måste du utesluta kundcase som hör till det kontot. För att uppnå detta, skapa detta filterkriterium.
Object type: Case, field: AccountId, value: XObject type: Account, field: Id, value: XDetta kriterium tar inte bort något eftersom Arkiv inte har relevant konto.Arkivera Apex—RTBF-användningsscenarion
Använd kundcasescenarion för RTBF i appen Arkiv.
Scenario 1: RTBF med flera objekt
Jane Doe är kund hos XYZ Bank, där hon har haft ett konto under de senaste 2 åren. Nyligen beslutade hon att hon vill utöva sin RTBF enligt den allmänna dataskyddsförordningen (GDPR). Jane anser att banken har onödiga personuppgifter om henne och vill att de raderas från deras register.
Jane skickar sin RTBF-begäran till XYZ Bank och specificerar de personuppgifter som hon vill ta bort, vilket kan inkludera kontoinformation, transaktionshistorik och andra personuppgifter som banken har. Banken fortsätter att identifiera och hitta Janes personuppgifter.
| Kriterier | Filter | Filter | Filter | Filter |
|---|---|---|---|---|
| Objekt | Konto | Transaktion_c | Kundcase | E-post |
| Fältnamn | Namn | Transaktionsanvändare | Kundens namn | Från |
| Värde | Jane Doe . | Jane Doe . | Jane Doe . | Jane Doe . |
RTBF-begäran kan innehålla upp till 10 separata objekt.
Resultat:
Arkivet hittar 1 konto, 2 000 transaktioner, 15 kundcase som rötter och 30 e-postmeddelanden.
Scenario 2: RTBF enskilt objekt
Ett läkemedelsföretag släppte ett experimentellt läkemedel, Eddy's Elixirs, för att behandla artrit. Det resulterade dock i allvarliga biverkningar bland patienterna. Efter att ha återkallat drogen skickade företaget in en RTBF-begäran om att ta bort alla offentliga poster och digitalt innehåll relaterat till Eddy's Elixirs.
| Kriterier | Filter |
|---|---|
| Objekt | Kundcase |
| Fältnamn | Drognamn |
| Värde | Eddy's Elixirs . |
Resultat:
Arkivet hittar 1 000 kundcase som rötter och 1 000 patientposter arkiverade under roten som underordnade poster. Det tar bort dem alla.
En aktivitet skapas på fliken Arkivkonsolaktiviteter och visar RTBF-ikonen.
Scenario 3: RTBF Över 10 000 rotposter hittades
Emily Jones, en regelbunden användare av en populär social medieplattform som heter ConnectWorld, inaktiverar sitt konto och begär att utöva sin RTBF enligt dataskyddsföreskrifter.
| Objekt | Filter | Filter | Filter |
|---|---|---|---|
| Objekt | Användarkonto | Kontakt | Kundcase |
| Fältnamn | Namn | Telefon | Relaterat ID |
| Värde | Konto-ID för Emily Jones | Emilys telefonnummer | Konto-ID för Emily Jones |
Resultat:
Arkivet hittar 20 000 rotkundcaseposter, 300 000 kontakter och 10 000 kundcase som rötter och 150 000 kontakter som arkiveras under roten när underordnade poster tas bort.
En aktivitet skapas på fliken Arkivkonsolaktiviteter och visar RTBF-ikonen.
getRTBFStatus returnerar statuskoden 200 med felmeddelandet "Begäran behandlad. Högsta antal sökresultat uppnådda. Precisera din sökning eller skicka en ny begäran för att se fler poster".
Arkivet kan endast bearbeta upp till 10 000 rotposter per RTBF Apex begäran. För att lösa detta fel, kör sökfrågan igen för att hämta återstående poster.
Arkivera Apex—Anonymisera PII i arkivappen
Anonymisera personligt identifierande information (PII) i arkiverade poster utan att ta bort själva posten. Anonymisering ersätter känsliga värden med platshållare som inte går att ångra för att hjälpa dig följa sekretessföreskrifter samtidigt som poststrukturen i appen Arkivera behålls.
Anonymisering, även kallat maskering, hjälper dig följa sekretessbegäranden, som Rätten att glömmas bort (RTBF). Denna process utför en uppdatering på plats av arkiverade poster. Till skillnad från en rensningsåtgärd, som permanent tar bort data, ersätter anonymisering specifika känsliga värden med allmän text, till exempel redcted@example.com.
Hur anonymisering fungerar
Systemet upptäcker PII-fält, som Namn, E-post, Telefon och Adress, med hjälp av objektmetadata. När du skickar in en begäran maskerar systemet ursprungliga PII-värden med platshållare som inte går att ångra. Icke-PII-data, som post-ID och tidsstämplar, förblir oförändrade och sökbara.
Anonymiseringen är omfattande. När du anonymiserar en rotpost kasar anonymiseringsprocessen automatiskt till alla relaterade underordnade poster inom samma arkiverade hierarki. Till exempel anonymiserar anonymisering av en kontaktpost även PII i den postens relaterade uppgifter och händelser.
Viktiga överväganden
- Anonymiseringsprocessen är permanent. Det går inte att återställa eller visa ursprungliga PII-värden efter anonymisering.
- Det går endast att anonymisera en post en gång. Om du skickar in en dubblettbegäran för en anonymiserad post ignorerar systemet den.
- Anonymisering delar standardgränsen för Arkiv RTBF-hastighet på 10 000 begäranden per organisation och dag.
- Det går inte att manuellt välja fält att anonymisera. Systemet identifierar PII-fält automatiskt baserat på Återställ-algoritmen.
- Du kan inte anonymisera poster som hålls juridiskt. Systemet utesluter automatiskt poster som för närvarande är i juridiskt uppehåll eller lagringslås.
Skicka in en begäran om anonymisering
Definiera dina målkriterier och skicka in ett anonymiseringsjobb med hjälp av klassen SF_Archive.ArchiverAccessor Apex.
Se till att du uppfyller dessa krav.
- Användaren som kör Apex koden har åtkomst till
SF_Archivenamnutrymme. - Åtkomst till Developer Console eller en IDE för att köra Kör anonym Apex.
- Öppna Developer Console eller det Apex du föredrar.
- Öppna ett Kör anonym-fönster.
-
För att definiera kriterierna och skicka in begäran, kör denna kod. Detta kodblock anonymiserar e-postadressfältet i en kontaktpost.
// 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);
Verifiera anonymiseringsstatus
Kontrollera status för ditt anonymiseringsjobb och skapa en granskningsrapport genom att använda det begärande-ID som skapats under inskickningen.
Anonymisering är en asynkron process. När du har skickat in en begäran, använd det returnerade begäran-ID:t för att följa dess förlopp och verifiera resultaten.
-
För att se status för anonymiseringsjobb, kör denna kod i fönstret Kör anonym.
// 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); -
För att skapa en granskningsrapport efter att anonymiseringsjobbet har slutförts, kör denna kod i fönstret Kör anonym.
String requestId = 'YOUR_REQUEST_ID_HERE'; String report = SF_Archive.ArchiverAccessor.getMaskingReport(requestId); System.debug('Anonymization Audit Report: ' + report);
Anonymiseringsresultat
Gå igenom hur PII-fält visas efter att anonymiseringsprocessen är klar. När jobbstatusen är HANDLED uppdaterar systemet arkiverade data omedelbart.
- Sökningar som använder den ursprungliga PII, som en e-postadress, returnerar inga resultat.
- Sökningar som använder icke-känsliga identifierare som ett post-ID returnerar den anonymiserade posten.
- När du visar posten via Sök, Exportera eller Avarkivera visar PII-fält platshållarvärden.
| Fält | Ursprungligt värde | Anonymiserat värde |
|---|---|---|
| Namn | Musse Pigg | redcted_first_name |
| E-post | mickey.mouse@example.com . | redcted@example.com |
| Telefon | +1-415-555-1234 | 000-000-0000 |
| ContactId | 003XX0000123AbC | 003XX0000123AbC |

