Compliance, integritet och datalivscykel
Compliance är inte ett dokumentlager. Det är ett observerbart beteende.
En policy kan säga att intervjutext gallras efter 90 dagar. Först när Matrix kan visa populationen, klockan, körningen, raderna som påverkades, återstående överträdelser och nästa körning finns evidens för att policyn verkställs. Samma fyrdelning som i resten av boken gäller:
regelverk och beslut → datalivscykeldefinition → faktisk behandling → evidens och bedömning
Kapitlet är systemdesign, inte juridisk rådgivning. Juridisk auktoritet avgör bland annat tillämplighet, roll, rättslig grund och undantag. Arkitektens ansvar är att göra besluten uttryckbara, verkställbara och verifierbara.
1. Börja med behandling, inte teknik
“Matrix använder AI” säger nästan inget om vilka krav som gäller. Scope måste göras per behandling eller användning:
- vilka personer och organisationer berörs,
- vilket ändamål och vilken förväntad nytta finns,
- vilken data samlas in eller härleds,
- vilka roller och mottagare finns,
- vilka beslut eller handlingar påverkas,
- vilka jurisdiktioner och avtal gäller,
- vilken riskklass och vilka rättigheter aktualiseras.
Matrix regelverksregister har en nyttig tvådelning: vår egen efterlevnad och lösningens förmåga att hjälpa en kund. Ett system kan stödja en kontroll utan att leverantören kan garantera kundens efterlevnad. En complianceprodukt får aldrig sälja “certifiering på knapptryck”; den kan göra bevisläget och gapen granskningsbara [CLAIM-DATA-001].
EU AI Acts skyldigheter varierar med roll och riskklass. För relevanta högrisksystem finns krav på bland annat dokumentation, loggar, mänsklig översyn och kvalitetsstyrning; vissa dokument ska bevaras tio år och loggar som aktören kontrollerar normalt minst sex månader. Det är inte en generell retentionregel för all AI-data. Kravet måste mappas till den specifika användningen och andra tillämpliga regler.
2. Datalivscykelkontraktet
Varje beständig eller exporterad datapopulation bör ha ett kontrakt:
| Fält | Fråga |
|---|---|
data_class |
vad innehåller populationen? |
subjects |
vilka kan identifieras eller påverkas? |
purpose |
varför behövs den? |
authority |
vilket bedömt stöd och vilken ägare finns? |
sources/recipients |
varifrån kommer den och vart går den? |
stores/copies |
primärlager, cache, index, logg, export och backup? |
retention_rule |
startpunkt, period, trigger och undantag? |
rights_path |
hur söks, exporteras, rättas, begränsas eller raderas den? |
purge/verify |
vilken körning och postcondition bevisar utfallet? |
evidence_retention |
hur länge sparas kvittot utan att återskapa payloaden? |
Retention är inte bara “90 dagar”. Klockan behöver ett startvillkor: från insamling, senaste aktivitet, avslutad relation, återkallat samtycke eller avslutat ärende. Den behöver även avgöra vad som händer med radens metadata, härledningar och backups [CLAIM-DATA-003].
Matrix connector framework kräver retention när en connector producerar
beständig data. data_stores.toml inventerar flera lager. Detta är en god
birth invariant: ingen ny store utan ägare och livscykel. Men katalogen måste
jämföras med observerade filer, tabeller, buckets, index och exports; annars
kan en okänd kopia ligga utanför registret.
3. Pseudonymisering är en kontroll, inte ett trollslag
Ett slumpmässigt ID minskar direkt exponering, men data är inte anonym om en auktoriserad eller annan realistisk part kan återlänka den. EDPB:s konsultationsriktlinje 01/2025 uttrycker samma kärna: pseudonymiserad data förblir personuppgift när kopplingen kan återställas. Matrix egen DPO-analys noterar dessutom att ett pseudonym-ID ger nästan noll praktisk anonymitet om det bara finns en möjlig person i rollen [CLAIM-DATA-002].
Pseudonymisering kan ändå vara mycket värdefullt. Kopplingstabellen kan separeras, åtkomsten begränsas, event kan minimera payload och analys kan ske utan namn. Men retention, rättigheter, incidenthantering och mottagare måste fortfarande omfatta populationen.
4. Minimering sker i flera led
Minimering betyder inte bara att samla in färre fält. Den gäller:
- insamling: behövs innehållet alls?
- transport: kan payload tas bort ur event och trace?
- lagring: kan fulltext ersättas med claim, klass eller räknare?
- åtkomst: kan tenant, zon, roll och ändamål begränsa läsning?
- observation: behöver logs, prompts och tool arguments innehålla data?
- export: kan rapporten bära aggregat i stället för individrader?
- slut: vad raderas, anonymiseras eller bevaras med särskilt stöd?
Matrix eventanalys visar varför eventlager är riskabla. Ett minimerat envelope kan ta bort etikett, diff, snapshot och actor-ID. Men om personhändelser lagras i Git saknas naturlig tidsstyrd radering och historiken replikeras. Personrika event hör därför i ett retentionkapabelt lager; ofta räcker ett aggregat för det operativa värdet [CLAIM-DATA-004].
5. Radering är en grafoperation
En persons ord kan ha blivit:
informant → pseudonym → session → yttrande → claim → konflikt → leverans
└────→ index/logg/backup
Att radera profilraden är då otillräckligt. Samtidigt kan blind kaskadradering förstöra ett legitimt beslut och göra leveranshistoriken obegriplig.
Matrix erase_informant löser en svår del explicit. Varje verbatim claim måste
antingen raderas eller skrivas om till ett tredjepersonsbehov. Omskrivningen
degraderar extraction till inferred, sänker confidence, ersätter lineage med
<erased-origin> och märker leveranser med öppen risk. Operationen vägrar hela
transaktionen om någon berörd verbatim claim saknar hantering. Postcondition
kontrolleras innan pseudonymkopplingen försvinner; efteråt skulle frågan hitta
noll per konstruktion och bevisa ingenting [CLAIM-DATA-005].
Det illustrerar tre principer:
- radera identitet och innehåll utan att ljuga om kvarvarande härledning,
- utför beroende steg atomiskt eller lämna allt oförändrat,
- verifiera medan identifieringsrelationen fortfarande går att fråga.
6. Gallring som återkommande kontroll
Matrix elicitation-retention har klassvisa regler: yttrandetext, avbrutna
claims, informantprofiler/pseudonymer, flags och orphan conflicts. Databasens
now() styr tiden, inte callerinput. Dry run är standard och både dry och live
journalförs. Sanctioned-delete-flaggan armeras precis runt det skyddade
statementet och avaktiveras direkt.
Den viktigaste funktionen är overdue_violations(). Om jobbet stannar ska
rader efter hard cap plus grace göra kontrollen röd. “Senaste körning lyckades”
är inte nog; även nuvarande population måste frågas [CLAIM-DATA-006].
Den landade tvådatabasdesignen drar nu en fysisk gräns mellan gemensam
koordinationsdata och lokal eliciteringspersondata. De tre tidigare
cross-family-foreign keys ersätts av fail-closed skrivvalidering mot
Coordinator och en fail-open reconciliationvy för senare dangling references.
Det möjliggör egna credentials, backup- och flyttlivscykler men gör även
deployordningen säkerhetskritisk. Vid read-only-kontrollen den 13 augusti
förväntade koden den nya 0022-revisionen medan live-databasen stod på 0021.
Designen är alltså landad men ännu inte applicerad i den observerade driften,
och den transitionella DSN-fallbacken är fortfarande den aktiva vägen.
ADR och runbook refererar dessutom den äldre migrationsbeteckningen 0021
där den lineariserade kedjan kräver 0022. Fallbackens borttagning måste vara
en hård postcondition före central flytt, inte ett efterföljande städjobb
[CLAIM-DATA-009].
En generell retentionkontroll behöver därför fyra bevislinjer:
- definition: vilken regel gäller denna version?
- execution: körde jobbet, med vilken mode och omfattning?
- postcondition: finns förbjudna rader eller kopior kvar?
- coverage: omfattar kontrollen alla deklarerade och observerade stores?
7. Detaljdata och bevarat analysvärde
Inference economics behöver långsiktiga trender men inte varje model-call för
all framtid. Matrix rullar därför upp detaljrader till dagliga aggregat före
gallring. usage_unknown bevaras som okänd coverage, aldrig som noll.
Mönstret är starkt men kräver smågruppsanalys. Ett aggregat över en person, tenant eller unik dag kan fortfarande avslöja individen. Aggregation är inte automatiskt anonymisering. Kontraktet behöver minsta grupp, dimensioner, suppression och riskbedömning [CLAIM-DATA-007].
8. Backup, index och bevislager
Rättighets- och retentiondesign måste ange hur sekundärkopior hanteras. Omedelbar selektiv radering ur en append-only backup kan vara olämplig eller omöjlig. Då behövs dokumenterad isolering, åtkomstkontroll, backupens egen livslängd och en restoreprocedur som återapplicerar tombstones/gallring innan data återgår till normal drift.
Samma fråga gäller Qdrant-index, cache, lokala exports, statusfiler och telemetry. Ett primärlager kan vara rent medan sökindexet fortfarande lämnar ut texten. Rättighetsärendet måste följa en store graph, inte en hårdkodad lista i handläggarens huvud.
Auditbevis får inte bli ett bakvägsarkiv över det raderade. Ett bra raderingskvitto kan bevara ärende-ID, policyversion, tid, executor, antal per lager, postcondition och digest utan originalinnehållet [CLAIM-DATA-008].
Eliciteringens privacygräns
Interviewer-motorn skapar nu evidensfakta under en session och skyddar informantidentiteten genom pseudonym-ID. Transkriptet behandlas som otrustat innehåll och en separat role-agent-vy vägrar transcriptfält även om de skulle råka följa med en claimrad. Handover bär payloadhash och metadata, inte själva transkriptet [CLAIM-CLAIM-012].
Det minskar spridningen men löser inte hela livscykeln. En produktionsyta måste fortfarande visa ändamål och mandat före start, inspelningsstatus, lokal modellzon, tillåtna mottagare, retention, playback, rättelse/radering och vilka härledningar som påverkas. “Pseudonymiserad” får inte döljas bakom en allmän säkerhetsetikett.
9. Compliance-dossiern
En dossier bör svara per krav eller kontroll:
krav → scopebeslut → ansvarig kontroll → process → implementation
→ senaste observation → evidens → gap → åtgärd och ägare
Matrix compliance-erbjudande beskriver denna riktning. Dess egen text sätter
en sund grind: paketet är inte externt säljbart förrän Swedwise har ett
referenscase, egen privacy-/retentionskuld är löst, demovägen är livebevisad
och beslut fattats. Dossiern får visa full, partial, missing, stale och
not-applicable-with-rationale; den får inte omvandla tre bevisade kontroller
till “compliant organisation”.
10. Gränssnittshierarki
Styrning och data
├── Regelverk och scope
│ ├── egen tillämplighet / kundmöjliggörande
│ └── beslut, version, ägare och nästa omprövning
├── Behandlingar
│ ├── ändamål, population, dataflöde och mottagare
│ ├── risk/DPIA och kontroller
│ └── datalager, kopior och retention
├── Rättighetsärenden
│ ├── sök och identitetsmatchning
│ ├── preview, beslut och approval
│ └── execution, postcondition och kvitto
├── Datalivscykel
│ ├── jobb, senaste körning, overdue och coverage
│ └── backup/index/export-undantag
└── Revision
├── kontroll → process → evidens → gap
└── exporterat, signerat och versionsbundet dossierpaket
11. Användningsfall
UC14.1 — Scopea ett regelverk
Juridisk ägare bedömer en användning, sparar frågor, underlag, beslut, giltighet och nästa omprövning utan att klassa hela Matrix med ett enda ord.
UC14.2 — Registrera en behandling
DPO registrerar ändamål, personer, dataklasser, mottagare, stores, retention, rättigheter, risk och ägare innan connectorn får producera data.
UC14.3 — Upptäck oregistrerad store
Dataarkitekten jämför runtimeinventering med katalog och får ett blockerande gap för databas, fil, index eller export utan livscykelkontrakt.
UC14.4 — Granska dataflödet
En granskare följer fält från källa via event, modell, agent och export och ser var innehåll minimeras, pseudonymiseras eller lämnar en zon.
UC14.5 — Bedöm en pseudonym
DPO ser återlänkningsnyckel, möjliga angripare, gruppstorlek och åtkomst och kan inte märka datan anonym enbart för att namnet saknas.
UC14.6 — Förhandsgranska gallring
Operatören kör dry run per lager och ser regelversion, cutoff, antal, exempel-ID och beräknad påverkan utan att data ändras.
UC14.7 — Verkställ gallring
Behörig aktör godkänner population och kör jobben; receipt visar rader per lager, tid, kodrevision och postcondition.
UC14.8 — Upptäck försenad gallring
Overdue-gaten visar kvarvarande rader efter hard cap som rött med ägare och deadline även om senaste schemakörning saknas.
UC14.9 — Ta emot rättighetsbegäran
Handläggaren registrerar identitetsbevis, scope, deadlines, undantag och kommunikationskanal utan att lägga mer persondata än ärendet kräver.
UC14.10 — Hitta den registrerades data
Matrix söker primärlager, index, exports, logs och backup-policy och redovisar coverage och osäker identitetsmatchning.
UC14.11 — Radera en informant
Systemet kräver explicit hantering av varje verbatim claim, utför operationen atomiskt och vägrar om en härledning annars lämnar personens ord kvar.
UC14.12 — Verifiera radering
En oberoende läsväg testar postconditions per store och visar residualer, undantag, backupkarantän och ett payload-minimerat kvitto.
UC14.13 — Rätta en claim
En behörig person ersätter felaktig uppgift men bevarar tidigare kännedom, orsak, aktör och downstream-impact utan att den gamla versionen visas aktuell.
UC14.14 — Begränsa behandling
Ett ärende kan frysa användning och nya härledningar medan data bevaras för prövning; agents och exports får policyavslag.
UC14.15 — Bygg revisionsdossier
Complianceansvarig exporterar kontroll, scope, implementation, observation, evidens, freshness och gap med låsta källrevisioner.
UC14.16 — Ompröva efter förändring
En ny modell, connector, dataklass eller mottagare invalidierar berörda scope-/riskbeslut och skapar ägda omprövningar innan release.
12. Sammanfattning
Ett trovärdigt compliance-lager kan inte bara svara “vilka regler har vi?”. Det måste svara vilken data som finns nu, varför den får finnas, hur den används, när den ska försvinna och hur vi vet att den gjorde det. Matrix har starka byggblock i retention och erasure. Den största återstående frågan är operabilitet och coverage över hela store graph.
| FIG-14-01 — Eliciteringens separerade artefakter och verifierade datalivscykel |
Visa diagramdefinition
flowchart LR
A[Ändamål, mandat och scope] --> B[Intervjusession\nen fråga per tur]
B --> T[Transkript\notrustat + pseudonymiserat]
T --> C[Interviewer → atomära claims\nevidensfakta + ursprung]
C --> H[Challenger\nflaggar utan mutation]
C --> P[Playback\nbekräfta / korrigera / avvisa]
C --> R[Role-agent\nclaims + probes]
T -. vägras vid rollgränsen .-> Z[Ingen transcriptåtkomst<br/>för role-agent]
P --> E{Store graph + livscykel}
H --> E
E -->|behåll| F[Begränsad åtkomst]
E -->|aggregat| G[Rollup + riskkontroll]
E -->|radera / rätta| X[Grafoperation + postcondition]
X --> J[Minimerat kvitto och dossier]
J -. coverage/gap .-> N[Nästa livscykel:<br/>ändamål, mandat och scope]
Fördjupningsmaterial
Övningar och laboration
Övningar och laboration
Övningar
- Scopea tre Matrix-användningar mot GDPR och AI Act utan att ge juridiskt slutomdöme; ange vilka fakta som saknas.
- Rita en store graph för ett yttrande som blivit claim, embedding, leverans, loggrad och backup.
- Bedöm fem pseudonymiserade populationer och formulera realistiska återidentifieringsvägar.
- Designa ett raderingskvitto som bevisar utfallet utan att återskapa texten.
Laboration: datalivscykel under förändring
Bygg ett deklarativt register och en hermetisk fixture för 40 informanter, 120 yttranden, 70 claims, två index, en export och en backup. Leverera 16 use- case-vägar, scopebeslut, dataflöde, dry run, atomic erasure, overdue-gate, restore-replay och dossier.
Obligatoriska mutationer: oregistrerad store; callerstyrd klocka; pseudonym märkt anonym; hard cap utan jobb; jobb utan receipt; success utan postcondition; primärradering men kvarvarande index; restore som återinför raderad text; verbatim claim utan handling; postcondition efter borttagen pseudonymlänk; auditkvitto med originalpayload; unknown räknad som noll; smågruppsaggregat; scopebeslut utan validAt; export utan mottagare; compliancegrönt med öppet gap; dry run som skriver data; delete-sanction som lämnas på; saknad tenantgräns; AI Act-klassning för hela plattformen i stället för användningen.
Godkänt kräver minst 18 av 28 poäng och att kvarvarande kopia, falsk anonymisering, caller-klocka, restore-återintroduktion och falskt grönt fångas.
Källor och begränsningar
Kapitelkällor
| Källa | Funktion | Begränsning |
|---|---|---|
gdpr-2016 |
Ändamål, minimering, lagringsbegränsning, rättigheter och säkerhet. | Juridisk tillämpning kräver behörig bedömning. |
eu-ai-act-2024 |
Dokumentation och loggbevarande för relevanta AI-roller/användningar. | Krav beror på roll och riskklass; inte alla Matrix-flöden är högrisk. |
edpb-pseudonymisation-2025 |
Pseudonymisering och återidentifierbarhet. | Konsultationsversion, inte slutlig bindande vägledning. |
nist-privacy-framework-1 |
Privacy risk och livscykel från insamling till disposal. | Frivilligt ramverk, inte EU-rätt. |
| MATRIX-ELICITATION-RETENTION | Klassvisa tidsgränser, DB-klocka, journal och overdue-gate. | Särskilt elicitation-lagret, inte universell engine. |
| MATRIX-ELICITATION-ERASURE | Atomisk radering, omskrivning och postcondition. | Ingen komplett offentlig läs-/ärendeväg hittades. |
| MATRIX-DATA-STORE-CATALOG | Inventering av beständiga lager och retention. | Deklaration bevisar inte att alla runtimekopior upptäckts. |
| MATRIX-INFERENCE-RETENTION | Rollup före detaljgallring. | Aggregering kan fortfarande bära privacy-risk vid små grupper. |
| MATRIX-REGULATORY-REGISTER | Två ansikten: egen efterlevnad och kundmöjliggörande. | Historiskt assessment; scope/status kan ändras. |
| MATRIX-ELICITATION-INTERVIEWER | Pseudonym-ID, otrustat transcript och metadata-only handover. | Användaryta, verklig session och full rättighetsväg återstår. |
| MATRIX-ELICITATION-ROLE-WALL | Transcript-denying gräns för role-agent. | Skyddar en söm, inte alla lager, exports eller operatörsvägar. |
| MATRIX-ELICITATION-DB-SPLIT | Tvådatabasdesign, skrivvalidering och reconciliation över beslutslänkar. | Landad design och migrationskod bevisar inte genomförd dataflytt eller applicerat live-schema. |
| MATRIX-RUNTIME-PROVENANCE | Observerar landad respektive applicerad migrationsrevision. | Passportets läsning bevisar inte i sig att flyttens data- och backup-postconditions är uppfyllda. |
Argumentkarta
Argumentkarta: compliance, integritet och datalivscykel
Huvudtes
Compliance blir trovärdig först när varje relevant datapopulation har uttalat ändamål, rättslig och organisatorisk bedömning, ägare, lagringsplatser, livslängd, rättighetsväg och körbar verifiering. Dokument är definitioner; efterlevnad är observerat och evidensbundet beteende.
Kedja
- Compliance kräver först scope och ansvar, inte en etikett på hela systemet.
- Pseudonymiserad, återlänkbar data förblir personuppgift.
- Retention måste födas med lagringsytan och verkställas mot databasklocka.
- Radering är en grafoperation över kopior och härledningar.
- Proveniens ska degraderas ärligt när ursprunget tas bort.
- Backup, logg, export och index ingår i livscykeln.
- Ett purge-jobb utan körbevis, coverage och overdue-gate är en intention.
- Ett revisionspaket visar evidensläge, inte automatiskt laglig efterlevnad.
Motbevisande test
Om en registerförteckning ensam bevisar compliance ska en databas med korrekt angiven 90-dagarsregel men ett avstängt purge-jobb räknas som compliant. Den gör inte det. Definitionen måste förenas med körkvitto, kvarvarande population, freshness och ett verifierbart negativt resultat.
Faktagranskning och öppna beslut
Kapitelgranskning
Status: första manusutkast 2026-08-11. Intern DPO-, dataarkitektur-, säkerhets-, operations-, juridik- och pedagogisk granskning genomförd. Extern jurist-/DPO- granskning och körbar store-graph-fixture återstår.
Verifierade implementationsfakta
- Elicitation-retention använder databasklocka, journalför dry/live och har hard-cap-gate med grace.
- Informantradering är atomisk, kräver hantering av alla verbatim claims och verifierar postcondition innan pseudonymlänken tas bort.
- Omskrivning degraderar proveniens och markerar leveranser med öppen risk.
- Inference-retention bevarar aggregat och usage-coverage före detaljgallring.
- Store- och backupkataloger finns; komplett runtimecoverage är inte därmed automatiskt bevisad.
- Use-case-registret beskriver läs-/handläggningsvägen för elicitation- rättigheter som ofullständig. Kapitlet påstår därför inte produktstöd.
Öppna beslut
- Vilket gemensamt schema ska bära processing/store/lifecycle-kontrakt?
- Hur upptäcks oregistrerade runtimekopior och exports?
- Hur återappliceras tombstones vid restore?
- Vilka rättighetsvägar måste bli operabla före första release?
- Hur separeras juridiskt scopebeslut från teknisk kontrollstatus?
Teststatus
- Coordinatorns kontraktstester: 22 passerade; 22 PostgreSQL-fall hoppades över eftersom vakten vägrade live-databasen och ingen scratch-DSN gavs.
- Jake restore/chain/backup/retention/economics/usage: 93 passerade och 25 databasfall hoppades över av samma fail-closed testvakt.
- Två HTTP-endpointfall deselectades eftersom OpenJarvis setup försöker chmod:a
användarens read-only
~/.openjarvisi denna sandbox; de gäller endpoint- wiring, inte de granskade retention-/economicskontrakten. - LiteLLM kunde inte hämta extern prisfil via DNS och använde lokal backup.
Kapitelkontrakt
Syfte
Göra compliance till ett verifierbart systembeteende i stället för en samling dokument. Kapitlet följer data från ändamål och insamling till härledning, användning, lagring, export, gallring och bevisad radering.
Lärandemål
Studenten ska kunna avgränsa behandling och roller, utforma ett maskinläsbart datalivscykelkontrakt, skilja pseudonymisering från anonymisering, hantera rättighetsbegäran utan att förstöra nödvändig proveniens, verifiera gallring och förklara varför compliance-evidens inte är samma sak som efterlevnad.
Fallstudiehändelse
En informant begär radering efter att intervjucitat hunnit bli claims, konflikter, leveranser och aggregerad ekonomidata. Nordic måste kunna visa vad som finns, varför, var, hos vem, hur länge, vilka härledningar som påverkas och att rätt data faktiskt försvann utan att historiken görs falsk.