Hop til hovedindhold

Dataflow i AgentBase

FeltVærdi
DokumenttitelDataflow i AgentBase
Version1.6
Senest opdateret2026-09-09
Dokumentejersyv.ai (kontakt: mads@syv.ai)
Tilhørende dokumenterSystembeskrivelse, Databehandleraftale, DPIA-skabelon

Denne side beskriver, hvor data lander, hvad hver underdatabehandler ser, hvilke EU-grænser der eventuelt krydses, og hvordan kryptering, logning og opbevaring fungerer i AgentBase. Siden er udarbejdet til DPO'er, sikkerhedsfunktioner og indkøbere, der skal udfylde standardspørgeskemaer om databehandling før onboarding.

Hvor noget afhænger af konfiguration eller af den enkelte agents udformning, er det noteret eksplicit. Vi forsøger ikke at få platformen til at fremstå mere lukket end den er de relevante grænseflader er beskrevet, så de kan vurderes.

1. Den korte version

  • Standardkæden foregår i EU/EØS. Hosting i Tyskland (Hetzner), LLM-inference i EU/EØS (OpenAI Ireland under Zero Data Retention, samt Mistral AI i Frankrig), OCR i Frankrig (Mistral, EU-hostet, ingen træning), e-mail i Nederlandene/Frankrig (Lettermint).
  • Én tredjelandsoverførsel, og den er et tilvalg. Billedgenerering (Billedgenerering-noden og chat-værktøjet "Generér billede") leveres af Eleven Labs Inc., USA, certificeret under EU-U.S. Data Privacy Framework og under Zero Data Retention uden træning på input, jf. syv.ai's aftale. Kun den beskrivelse og de referencebilleder, brugeren selv angiver, sendes; agents uden noden og chat-samtaler, der ikke kalder værktøjet, sender intet til ElevenLabs. Se Underdatabehandlere. Ingen anden del af AgentBase' egen behandlingskæde rutes til USA eller andre tredjelande. Vælger jeres organisation selv at bruge egne modeladgange under Administration → Organisation → Integrationer, er det jeres eget valg af modtager, der afgør, hvor data lander (afsnit 9).
  • Kryptering: TLS 1.2+ under transport. Ved opbevaring krypteres disken hos hosting-leverandøren med AES-256, og hemmeligheder (API-nøgler, integrationsadgange, organisationsvariabler) krypteres derudover felt for felt i databasen med en applikations­administreret nøgle (AES-128 i CBC-tilstand med HMAC-SHA256-integritetsbeskyttelse, jf. afsnit 6). Krypteringsnøgler administreres af syv.ai/hosting-leverandøren.
  • Eksterne underdatabehandlere ser kun de data, en agent eksplicit sender til dem med to undtagelser: Anonymiser tekst-noden sender selv teksten til sprogmodellen (se afsnit 8), og de to indbyggede AI-assistenter (Chat og flow-assistenten i editoren) sender samtale, flow-opbygning og kørselsdata til sprogmodel-udbyderen, når de bruges (se afsnit 3).
  • Opbevaringsperioden konfigureres direkte i AgentBase. Organisationens administrator fastsætter opbevaringsperioden for kørselsdata under Administration → Organisation → Generelt → Dataopbevaring, mellem 7 og 3653 dage; standard er 6 måneder (184 dage). Indholdet af ældre kørsler (input, output og fejldetaljer) slettes, mens registreringen af kørslen (status, varighed, tidspunkter) bevares af hensyn til fakturering og statistik.
  • Anonymiser tekst-noden kan placeres før eksterne kald for at fjerne CPR-numre, navne og lignende men den er en konfigurations­valgt foranstaltning, ikke en standard, og den udpeger selv personoplysningerne ved hjælp af en sprogmodel. Den beskytter altså det næste eksterne kald, ikke det første (afsnit 8).
Den automatiske sletning er en platform-funktion, der kan være slået fra

Selve oprydningen har en kontakt på platformen, som er slået fra som standard. Er den ikke slået til i jeres miljø, gemmes den valgte opbevaringsperiode, men indholdet af gamle kørsler bliver ikke fjernet automatisk. Du kan se status direkte i skærmbilledet: er funktionen ikke aktiv, står der "Automatisk sletning er endnu ikke aktiveret — indstillingen gemmes, men den automatiske sletning tages først i brug, når funktionen aktiveres på platformen." Spørg syv.ai om status for netop jeres produktionsmiljø, før I skriver den automatiske sletning ind i en DPIA.

2. End-to-end dataflow

Diagrammet viser standardkonfigurationen, hvor en bruger kører en agent, som indeholder en LLM-node og en OCR-node. Pile angiver dataflow; markeringer angiver hvad der sendes.

Bemærk to ting om diagrammet:

  • Anonymiser tekst-noden er ikke automatisk indsat. Den er en valgbar node i agent-grafen og skal placeres af udvikleren før eksterne kald, hvor det er relevant. Er den ikke placeret, sendes input som det er, til den valgte underdatabehandler. Og noden er ikke et lokalt filter: den sender selv teksten til sprogmodellen for at få udpeget personoplysningerne (afsnit 8).
  • Chat og flow-assistenten i editoren er indbyggede AI-assistenter, der kører inde i AgentBase, men som sender til sprogmodel-udbyderen på platformens adgang. De aktiveres kun, når en bruger faktisk skriver til dem.

Hvordan data kommer ind

Diagrammet ovenfor viser den indloggede bruger i browseren. Der findes fem andre døre ind i platformen, og de er relevante for en DPIA, fordi flere af dem kører uden en indlogget bruger:

DørHvem bruger denBemærkning
Indlejret app (embed-widget)Anonyme besøgende på jeres egen hjemmesideWidgetten er offentlig og tredjeparts-tilgængelig efter design. Der er ingen indlogget bruger bag kørslen.
WebhookEt eksternt system, der kalder appenAgentBase gemmer kaldets indhold, svaret og afsenderens IP-adresse sammen med leveringen. Der er ingen indlogget bruger.
Personlig API-nøgleEn bruger med rollen Udvikler eller højereNøglen oprettes under Administration → Udviklerværktøjer → API-nøgler og kører appen på den pågældende brugers vegne.
Planlagt kørselIngen kørslen starter af sig selv efter en tidsplan pr. appKørslen har ingen bruger bag sig.
Forbundet AI-assistent (connector)ChatGPT eller Claude, forbundet af en brugerAssistenten logger ind via et samtykke­skærmbillede og handler derefter som den bruger, der gav samtykket.

Kørsler uden en indlogget bruger (embed, webhook, planlagt kørsel) kan ikke afgrænses ud fra brugerens egne rettigheder. Det bør fremgå af DPIA'en for den enkelte anvendelse, hvilke af dørene der er slået til.

3. Hvad ser hver part?

Tabellen opsummerer hvilke data hver aktør har adgang til, og under hvilke betingelser.

AktørSerSer ikkeBemærkning
AgentBase backend (syv.ai)Alle inputs, outputs, dokumenter, metadata, brugeridentitet, kørselshistorik i klartekst i hukommelsen under eksekveringDrift varetages af syv.ai. Adgang er begrænset til navngivne medarbejdere efter "least privilege".
Hetzner Online GmbHKrypteret diskindhold (databasefiler, backups), netværkstrafik på TLS-niveau, virtuelle maskinerKlartekst af data i databasen disken er krypteret at-rest med AES-256Hetzner er hosting-leverandør. Krypteringsnøgler administreres af syv.ai/applikationen, ikke af Hetzner som infrastrukturleverandør. Hetzner kan i teorien tilgå hukommelsen på den fysiske vært, men det forudsætter en kompromittering af deres egne adgangskontroller.
OpenAI Ireland Ltd.Den prompt, en Sprogmodel-node sender typisk inputfelter fra agentens formular og evt. dokumentindhold, der er ført ind i prompten. Desuden den originale tekst, Anonymiser tekst-noden analyserer, hvis byggeren vælger en gpt-*-model på noden (afsnit 8), og alt hvad de indbyggede AI-assistenter sender (se rækken nedenfor)Andre data fra AgentBase' database. Inputs der er maskeret af Anonymiser tekst-noden, i det efterfølgende kaldKører under Zero Data Retention: OpenAI lagrer ikke input/output ud over selve transaktionen og bruger ikke input til træning. Behandling sker i EU/EØS. Bemærk, at "en agent uden sprogmodel-noder sender ingenting" ikke holder for en organisation, der bruger Chat, flow-assistenten eller Anonymiser tekst.
Indbyggede AI-assistenter (Chat og flow-assistenten) modtageren er sprogmodel-udbyderen ovenforSamtalens indhold, resultater fra de apps og værktøjer, assistenten kalder, flowets opbygning (noder, forbindelser, feltnavne og instruktioner) og for flow-assistenten faktiske kørslers input og output i afkortet formIndholdet af vedhæftede filer. En vedhæftet fil sendes ikke med kun en henvisning til filnavnet, så modellen kan bede en node om at bruge filenAssistenterne kører inde i AgentBase, men modellen er ekstern. De aktiveres kun, når en bruger skriver til dem.
Mistral AI SASDet dokument eller den tekst, Indlæs dokument-noden sender, teksten fra Anonymiser tekst-noden, som standard kører på en EU-model hos Mistral, og hvis en bygger vælger en Mistral-model i Sprogmodel-noden, også prompten fra den nodeAndre data fra AgentBase' database. Data fra agents, der hverken læser dokumenter, anonymiserer tekst eller er sat op til en Mistral-modelKører på EU-hostet infrastruktur i Frankrig under Zero Data Retention og uden træning på input. ZDR er aktiveret på syv.ai's konto og dækker de anvendte stateless endpoints til LLM-inference (/v1/chat/completions) og OCR (/v1/ocr), jf. Mistrals dokumentation.
Eleven Labs Inc.Den tekstbeskrivelse, det billedformat og de referencebilleder, en Billedgenerering-node eller chat-værktøjet "Generér billede" senderAndre data fra AgentBase' database. Data fra agents uden billedgenereringsnoder og chat-samtaler, der ikke kalder værktøjetAmerikansk selskab — tredjelandsoverførsel under EU-U.S. Data Privacy Framework. Billedmodellen leveres via ElevenLabs' underdatabehandler OpenAI; kører under Zero Data Retention og uden træning på input, jf. syv.ai's aftale med ElevenLabs. Se Underdatabehandlere.
Lettermint B.V.Modtagerens e-mailadresse, emne, brødtekst og eventuelle vedhæftede filer i e-mails, som platformen eller en Send Email-node afsenderØvrige data fra AgentBase' databaseE-mailleverandør. EU/EØS-hostet infrastruktur (Nederlandene/Frankrig). Se Underdatabehandlere.
Idriftsætterens brugere, anmeldere og udviklereKørselshistorik, agent-konfiguration, kørte input/output for de teams og agents, de har adgang tilData uden for de teams, de er medlem af (team-isolation)Adgang er rollebaseret (Bruger / Anmelder / Udvikler).
Idriftsætterens administratorerAlle flows, dokumenter og kørsler i hele organisationenData i andre organisationerRollen Administrator er ikke team-isoleret: den giver adgang på tværs af organisationens teams. Det er værd at holde for øje, når man tildeler rollen.
Superadministrator (syv.ai's driftsrolle)Data på tværs af organisationerRollen kan kun tildeles af en anden superadministrator og tilbydes ikke i rolle-menuen i brugeradministrationen. Den er syv.ai's driftsrolle, ikke en af idriftsætterens roller.
Slutbrugere af appsDe input de selv giver, og det resultat appen producererAndre brugeres input/output, agent-konfiguration, råt modeloutput hvis appen ikke viser detSer kun via app-formularen, ikke selve den underliggende agent.
Telemetri til en ekstern overvågningstjeneste kan slås til

AgentBase kan sende driftstelemetri til en ekstern overvågningstjeneste (Logfire, leveret af Pydantic Services). Den sender kun noget, hvis den er slået til med en adgangsnøgle. Er den slået til, eksporteres alle applikationslogs, sporing af HTTP-kald og sporing af modelkald. Selve prompt- og svarindholdet fra modelkald er slået fra, men sporingen af HTTP-kald indeholder de indkomne kaldeparametre altså også indholdet af et kørselskald og kun to typer kald er undtaget (opslag mod organisationsvariabler og webhook-opsætning). Er telemetrien aktiv i jeres produktionsmiljø, er tjenesten en aktør i dataflowet, og dens region skal oplyses. Spørg syv.ai om status og region for netop jeres miljø, før I udfylder et sikkerhedsspørgeskema.

4. Hvor opbevares hvilke data?

Alle persistente data opbevares i AgentBase' egen PostgreSQL-database på Hetzner i Tyskland. Dette er EU-territorium. Der bruges ikke separat fillagring (objekt-storage) alt ligger i databasen. Eksterne underdatabehandlere opbevarer ikke data ud over selve transaktionens varighed (jf. afsnit 3).

DatakategoriOpbevaringsstedKrypteret?Krypteringsnøgler administreres af
Brugerkonti (e-mail, hashed password, rolle, team)PostgreSQL hos Hetzner DEAt-rest AES-256; passwords yderligere hashet med adaptiv hashsyv.ai (applikationen)
Agents og versioner (DAG, konfiguration)PostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Apps (publicerede agents med formularer)PostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Appens hukommelse (data en app gemmer for sine slutbrugere: kladder, sager)PostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Kørselsdata (input, output, fejl, tidsstempler, status pr. node) inklusive filer, der indgik i kørslenPostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Byggeklodsers hukommelse mellem kørsler (markører, id-lister; ingen brugerkolonne)PostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Uploadede dokumenter i dokumentarkivet gemt som udtrukket tekst, ikke som den oprindelige filPostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
API-nøgler og hemmeligheder (modeladgange, integrationer, organisationsvariabler)PostgreSQL hos Hetzner DEKrypteret felt-niveau, oven i at-rest disk-krypteringsyv.ai (applikationen)
Strukturerede applikationslogsHosting-miljøet hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
Auditlogs (login, administrative handlinger)PostgreSQL hos Hetzner DEAt-rest AES-256syv.ai (applikationen)
BackupsHetzner-region i Tyskland (geografisk adskilt fra primære systemer, inden for EU/EØS)Krypteret backupsyv.ai (applikationen)
Hvor havner en fil, du uploader?

Uploader du et dokument til dokumentarkivet, bliver filen læst (OCR), og det er den udtrukne tekst, der gemmes den oprindelige PDF gemmes ikke i arkivet. Uploader du derimod en fil som input til en kørsel, gemmes selve filens indhold i kørslens rækker typisk flere gange for samme fil, fordi både kørslen og hver enkelt node gemmer det, den fik udleveret. Begge dele er relevante, når I skal efterkomme en sletteanmodning: kørselsdata fjernes af opbevaringsperioden, mens et dokument i arkivet skal slettes særskilt.

Vigtigt: Krypteringsnøgler holdes på applikations- og hosting-niveau. Hetzner som infrastrukturleverandør håndterer disk-kryptering, men ikke felt-niveau-kryptering af hemmeligheder. Kunde-administreret kryptering ("BYOK") er under udvikling og forventes at supplere ikke erstatte den nuværende syv.ai-administrerede nøglemodel. Kunder med behov inden tilgængelighed kan kontakte syv.ai for at aftale alternativer.

5. Hvad krydser EU-grænsen?

Én ting, og kun hvis flowet bruger den: billedgenerering. Alt andet dataflow i AgentBase foregår inden for EU/EØS.

Standardkædens underdatabehandlere er EU-baserede:

  • Hosting: Hetzner Online GmbH, datacentre i Tyskland.
  • LLM-inference: OpenAI Ireland Ltd., EU/EØS-region under Zero Data Retention.
  • OCR og LLM-inference: Mistral AI SAS, Frankrig, EU-hostet, Zero Data Retention og ingen træning på input. ZDR er aktiveret på syv.ai's konto og dækker de anvendte stateless endpoints /v1/ocr og /v1/chat/completions, jf. Mistrals dokumentation.
  • E-mail: Lettermint B.V., Nederlandene, med behandling på EU/EØS-infrastruktur (Nederlandene og Frankrig).

Billedgenerering er den ene undtagelse. Eleven Labs Inc. er et amerikansk selskab, og et kald fra Billedgenerering-noden eller chat-værktøjet "Generér billede" er en tredjelandsoverførsel af det, brugeren selv skriver og vedhæfter. Overførselsgrundlaget er EU-U.S. Data Privacy Framework (ElevenLabs certificeret 9. februar 2026) med standardkontraktbestemmelser i ElevenLabs' DPA som fallback; behandlingen sker under Zero Data Retention og uden træning på input, jf. syv.ai's aftale.

Den fulde liste med juridiske enheder, formål og aftalestatus findes på Underdatabehandlere.

Ud over billedgenerering findes der ikke en konfiguration inden for AgentBase' egen behandlingskæde, der ruter persondata til USA eller andre tredjelande men vælger jeres organisation selv en modeladgang under Administration → Organisation → Integrationer, træder jeres eget valg af modtager i stedet (afsnit 9).

Indbyggede opslag i offentlige registre

Ud over underdatabehandlerne kalder nogle af de indbyggede noder danske registre og offentlige API'er på platformens egen adgang, altså uden at I selv skal opsætte noget. Der sendes kun det, opslaget kræver typisk et CVR-nummer, en adresse, en ejendom eller et dokumentnummer, ikke jeres kørselsdata i øvrigt:

OpslagModtager
Ejendoms- og adressedata (Datafordeleren)graphql.datafordeler.dk
Adresseopslag (DAWA)api.dataforsyningen.dk
CVR-opslag og årsrapporterdistribution.virk.dk
Lovgivning fra Retsinformationretsinformation-api.dk
Plandata (lokalplaner, zoner)geoserver.plandata.dk
Overenskomstteksteroverenskomstdatabasen.dk
Transskription af lydplatform.syv.ai
CVR-opslaget sker uden kryptering

Virk.dk's distributions-API understøtter kun ukrypteret HTTP for de anvendte endepunkter, så CVR Opslag-noden kalder over http://, ikke https://. Det er en undtagelse fra reglen i afsnit 6 om, at kald ud af platformen sker over TLS. Der sendes kun søgeparametre (fx et CVR-nummer) og der modtages offentligt tilgængelige virksomhedsdata, men opslaget er læsbart undervejs. Er det uacceptabelt i jeres anvendelse, bør noden ikke bruges.

Idriftsætterens egne udgående integrationer

Agent-grafen tilbyder blandt andet noderne Hent fra API, Send Email, CVR Opslag og Databaseforespørgsel, som lader idriftsætter kalde eksterne systemer, idriftsætter selv vælger og kontraktligt har styr på (se Byggeklodser oversigt). Sådanne kald er ikke en del af AgentBase' egen behandlingskæde de udgør idriftsætterens egen integration som dataansvarlig, og det er idriftsætteren, der vurderer modtagerens placering og lovlighed af videregivelse. AgentBase logger kaldet (endpoint, status, varighed) for sporbarhed.

Skal hele anvendelsen inklusive idriftsætterens egne integrationer holdes i EU/EØS, skal idriftsætter alene kalde EU-baserede modtagere fra disse noder og bekræfte det ved versionsgodkendelse.

6. Kryptering transit, opbevaring og nøgler

LagMekanismeDetaljer
Transit (klient ↔ AgentBase)TLS 1.2 eller nyereAl ekstern trafik via HTTPS.
Transit (AgentBase ↔ underdatabehandler)TLS 1.2 eller nyereKald til OpenAI, Mistral, Lettermint, ElevenLabs m.fl. sker over HTTPS. Én undtagelse: CVR Opslag-noden kalder Virk.dk's distributions-API ukrypteret, fordi API'et ikke tilbyder andet (afsnit 5).
Transit (intern mellem tjenester)TLS eller isoleret privat netværkIngen klartekst-trafik mellem komponenter.
Opbevaring (database og lagring)AES-256 at-restDisk-niveau-kryptering hos Hetzner.
Opbevaring (hemmeligheder, API-nøgler)Felt-niveau-kryptering oven i at-restAES-128 i CBC-tilstand med HMAC-SHA256-integritetsbeskyttelse (Fernet). Nøglen administreres af applikationen og udledes af en dedikeret hemmelighed; nøglen er versioneret, så den kan udskiftes uden at ældre rækker bliver ulæselige. Bemærk, at AES-256 i denne tabel dækker disk-krypteringen ikke felt-niveauet.
AdgangskoderAdaptiv hash (bcrypt eller tilsvarende) med saltLagres aldrig i klartekst.
BackupsKrypteret backupGeografisk adskilt fra primære systemer, inden for EU/EØS.

Krypteringsnøgler administreres af syv.ai/applikationen. Der er ingen kunde-administreret nøgleløsning (BYOK) som standard. Hetzner ser ikke klartekst af hemmeligheder eller felt-niveau-krypterede data.

7. Logning hvad logges, af hvem, hvor længe?

HændelseIndholdLagringOpbevaring
Brugerlogin og -logudRegistreres ikke som selvstændige hændelser. Selve login-kaldet indgår i applikationsloggen som et API-kald (endepunkt, status, varighed), men uden en logget hændelse med bruger-id. Logud sker udelukkende i browseren, så der findes ingen logud-hændelse på serverenStrukturerede applikationslogs (kun som API-kald)6 måneder
Oprettelse/ændring af agentBruger, version, ændringssætPostgreSQL (versionshistorik)Automatisk oprydning planlagt; frosne øjebliksbilleder, der indgår som evidens i kvalitetskontrollen, bevares
Kørsler af agents og appsInput, output, status pr. node, varighed, fejlPostgreSQL (kørselshistorik)Organisationens valgte periode (standard 184 dage); registreringen bevares
API-kald (REST-endpoints)Endpoint, bruger, status, varighedStrukturerede applikationslogs6 måneder
Administrative handlingerAuditsporet dækker i dag to handlinger: ændring af opbevaringsperioden og rydning af en agents kørselshistorik. Brugeraktivering og rolleændring skrives ikke til auditsporet (de er planlagt tilføjet senere)PostgreSQL (admin_audit_log)Bevares (slettes ikke automatisk)

Opbevaringsperioden for kørselsdata konfigureres af organisationens administrator direkte i AgentBase under Administration → Organisation → Generelt → Dataopbevaring, mellem 7 og 3653 dage; standard er 6 måneder (184 dage). Når den automatiske sletning er aktiveret på platformen, fjernes indholdet af ældre kørsler løbende (mindst én gang i timen), mens registreringen af kørslen bevares af hensyn til fakturering og statistik; sletningen har da virkning i den aktive database inden for en time og slår igennem i backups i takt med backup-rotationen (p.t. 2 måneder).

Kontrollér status før I dokumenterer sletningen

Den automatiske sletning styres af en kontakt på platformen, der er slået fra som standard. Er den ikke slået til i jeres miljø, gemmes den valgte opbevaringsperiode, men indholdet fjernes ikke af sig selv. Skærmbilledet Dataopbevaring viser status: er funktionen ikke aktiv, står der "Automatisk sletning er endnu ikke aktiveret — indstillingen gemmes, men den automatiske sletning tages først i brug, når funktionen aktiveres på platformen." Bekræft status hos syv.ai, før den automatiske sletning beskrives som virkende i en DPIA eller et spørgeskema.

Byggeklodsers hukommelse mellem kørsler indgår ikke i den tidsbaserede oprydning. En markør har ingen alder, hvor den bliver forældet, og rækkerne har ingen brugerkolonne, så de kan ikke fremsøges pr. person. De slettes automatisk sammen med flowet (kaskadesletning) — og ellers manuelt, ved at en bruger med mindst Udvikler-rollen nulstiller hukommelsen for flowet eller for en enkelt byggeklods; det er den praktiske slettevej, og handlingen logges i auditsporet. Et arkiveret flow, der ikke kan slettes, fordi det indgår som evidens i kvalitetskontrollen, beholder sin hukommelse, indtil den nulstilles. Se Systembeskrivelsen, afsnit 7.1 for den fulde aftale.

Politikken er den samme som i Systembeskrivelsen, afsnit 7.1, hvor de detaljerede sletteregler pr. datatype fremgår.

For uafhængig retention og langtidsopbevaring kan logs eksporteres som JSON (LOG_JSON=true) til kundens egen SIEM-/observabilitetsplatform, hvor en længere eller kortere automatisk sletning kan håndhæves uafhængigt af AgentBase.

8. Anonymiseringsnodens rolle

Anonymiser tekst er en valgbar node, der kan placeres i en agent-graf før noder, som sender data til eksterne underdatabehandlere. Den erstatter direkte personhenførbare oplysninger (CPR-numre, navne, adresser, telefonnumre, virksomheder) med pladsholdere.

Noden er ikke et lokalt filter

For at finde personoplysningerne sender noden den originale, ikke-maskerede tekst til sprogmodel-udbyderen. Noden har sin egen modelvælger, og standarden er en EU-behandlet model hos Mistral AI SAS (FR); vælger byggeren en gpt-*-model, går teksten i stedet til OpenAI Ireland Ltd. Først når modellen har peget på oplysningerne, foretager AgentBase selve udskiftningen lokalt.

Noden forhindrer altså ikke, at rå tekst har været hos sprogmodel-udbyderen. Den forhindrer, at den rå tekst går videre til det næste eksterne kald for eksempel til OCR-leverandøren, til jeres eget system via Hent fra API, eller ind i en prompt, der gemmes i et resultat, mange mennesker kan se. Det er stadig en meningsfuld foranstaltning, men den skal beskrives korrekt i en DPIA: modtagerkredsen indskrænkes, den fjernes ikke.

Det er vigtigt at forstå, at anonymisering ikke er aktiveret som standard. Hvorvidt en agent anvender noden, og hvor den placeres, bestemmes af udvikleren, der bygger agenten. Dataansvarlige bør:

  • Verificere i kvalitetskontrollen (mindst Anmelder-rollen), at flows der modtager personoplysninger, anonymiserer før eksterne kald hvor det er passende.
  • Teste anonymiseringen på et kontrolleret datasæt og dokumentere det i agentens evalueringer.
  • Være opmærksom på, at anonymisering ikke nødvendigvis er pseudonymisering i GDPR-forstand kontekstuelle oplysninger kan stadig genidentificere personer.
  • Være opmærksom på, at noden i sig selv udgør en overførsel til sprogmodel-udbyderen (se advarslen ovenfor). Skal en tekst slet ikke ses af en sprogmodel, er noden ikke løsningen så skal oplysningerne holdes ude af flowet.

Hvor det ikke er muligt at anonymisere (fx hvis selve personoplysningen er det, modellen skal arbejde på), er det kombinationen af Zero Data Retention og "ingen træning" hos modeludbyderen, der skal bære risikoen sammen med idriftsætters behandlingsgrundlag.

9. Konfigurations­afhængigheder DPO bør være opmærksom på

Følgende valg har materielle konsekvenser for dataflowet og bør dokumenteres i den dataansvarliges DPIA og i agentens versionsnoter:

KonfigurationStandardKonsekvens hvis ændret
Valgt model i Sprogmodel-nodenEn OpenAI-model (EU/EØS · ZDR)Modelvælgeren i noden tilbyder også en Mistral-model. Vælger byggeren den, går prompten til Mistral AI SAS (FR), også selvom flowet ikke læser dokumenter.
Egne modeladgange (Administration → Organisation → Integrationer)Ingen platformens adgang brugesEn organisation kan bruge sine egne adgange, og de vælges i denne rækkefølge pr. team og derefter pr. organisation: eget selvhostet, OpenAI-kompatibelt endepunkt → egen Azure-ressource → egen OpenAI-nøgle → platformens adgang. De to første betyder, at data sendes til et endepunkt, I selv udpeger og så er det jeres valg af modtager, ikke syv.ai's underdatabehandlerliste, der afgør, hvor data behandles.
OCR-leverandør (Indlæs dokument)Mistral AI SAS (FR · ZDR · ingen træning)Fast. Der kan ikke vælges en anden OCR-leverandør. Ændringer i underdatabehandler-listen følger Databehandleraftalens Bestemmelse 7.3.
Billedgenerering-noden / chat-værktøjet "Generér billede"Ikke i brug, medmindre noden placeres i en agent eller værktøjet kaldes i chattenTredjelandsoverførsel til Eleven Labs Inc. (USA, DPF-certificeret, ZDR) af beskrivelse og referencebilleder. Bør dokumenteres i DPIA'en, og referencebilleder med personoplysninger bør undgås eller anonymiseres.
Anonymiser tekst placeret før eksterne kaldIkke automatiskData sendes som det er, hvis noden ikke er placeret og noden er i sig selv et kald til sprogmodel-udbyderen (afsnit 8).
Valgt model i Anonymiser tekstglm-5-2, behandlet hos Mistral AI SAS (FR · ZDR)Vælger byggeren en gpt-*-model, sendes den originale tekst i stedet til OpenAI Ireland Ltd. (EU/EØS · ZDR).
Logeksport (LOG_JSON=true) til eget SIEMIkke aktivUden eksport håndhæves retention manuelt af administrator.
Telemetri til ekstern overvågningstjenesteSlås til med en adgangsnøgleEr den slået til, eksporteres logs, HTTP-sporing (inklusive kaldets indhold) og sporing af modelkald (uden prompt-indhold) til tjenesten. Bekræft status og region hos syv.ai.
Hent fra API-, Send Email-, Databaseforespørgsel-noder mod eksterne systemerIngen som standardIdriftsætterens egen integration som dataansvarlig modtagerens placering og lovlighed af videregivelse vurderes af idriftsætter, ikke af syv.ai.
CVR Opslag-nodenTilgængeligKalder Virk.dk's distributions-API ukrypteret over http:// (afsnit 5).
Døre uden indlogget bruger (indlejret app, webhook, planlagt kørsel)Ingen som standardKørslen har ingen bruger bag sig; en webhook gemmer desuden kaldets indhold, svaret og afsenderens IP-adresse (afsnit 2).
Python Kode-nodeTilgængelig, sandkasse-eksekveretBegrænset netværks- og filsystemadgang, men idriftsætter bør gennemgå kode der får adgang til personoplysninger.

Hvis en konkret anvendelse afviger fra standarden på et eller flere af punkterne ovenfor, ændres dataflowet og dermed risikobilledet. Det skal dokumenteres i DPIA'en for anvendelsen.

10. Referencer

11. Revisionshistorik

VersionDatoÆndringAnsvarlig
1.02026-05-01Første udgave af dataflow-siden.syv.ai
1.12026-05-01Afsnit 1 og 7 opdateret til at afspejle den fælles standard på 6 måneders opbevaring af kørselslogs, uploadede dokumenter og brugerdata, der kan konfigureres kortere eller længere efter aftale med syv.ai.syv.ai
1.22026-08-19Afsnit 1 og 7 opdateret: Opbevaringsperioden for kørselsdata konfigureres nu af organisationens administrator direkte i AgentBase (Administration → Opbevaring, 7–3653 dage, standard 184 dage) med automatisk, løbende sletning af indholdet; administrative handlinger logges i PostgreSQL (admin_audit_log, bevares), login-hændelser i applikationsloggen.syv.ai
1.32026-09-05Gennemgang mod koden. Anonymiser tekst beskrevet korrekt: noden sender den originale tekst til sprogmodellen og maskerer først bagefter (afsnit 1, 2, 8, 9). De to indbyggede AI-assistenter (Chat og flow-assistenten) tilføjet som dataflow, med præcisering af, at vedhæftede filers indhold ikke sendes med (afsnit 2, 3). Lettermint B.V. tilføjet som underdatabehandler, og de indbyggede offentlige registeropslag beskrevet, herunder at CVR-opslaget sker ukrypteret (afsnit 3, 5, 6). Telemetri til ekstern overvågningstjeneste beskrevet (afsnit 3, 9). Dørene ind i platformen uden indlogget bruger beskrevet (afsnit 2). Kryptering præciseret: AES-256 dækker disken, felt-niveauet bruger en applikations­administreret Fernet-nøgle (afsnit 1, 6). Nodenavne rettet til de danske navne i produktet (afsnit 5, 9). Administrator-rollen rettet: den er ikke team-isoleret, og Superadministrator tilføjet (afsnit 3). Forbehold om, at den automatiske sletning kan være slået fra, tilføjet, og menustien rettet til Administration → Organisation → Generelt → Dataopbevaring (afsnit 1, 7). Opbevaring rettet: ingen objekt-storage, dokumentarkivet gemmer udtrukket tekst, kørsler gemmer filer (afsnit 4). Log-rækkerne rettet: der findes ingen selvstændig login-/logud-hændelse, og auditsporet dækker to handlinger (afsnit 7). Påstanden om, at leverandør og modeladgang er fast, rettet: en Mistral-model kan vælges i Sprogmodel-noden, og organisationer kan bruge egne modeladgange (afsnit 9).syv.ai
1.42026-09-07Tilføjet Eleven Labs Inc. (USA) som underdatabehandler for billedgenerering i afsnit 1, 2, 3, 5, 6 og 9. Afsnit 1 og 5 ændret fra "ingen tredjelandsoverførsler" til "én tredjelandsoverførsel, som er et tilvalg".syv.ai
1.52026-09-09Afsnit 4 udvidet med datakategorien appens hukommelse — den vedvarende tilstand, en publiceret app kan gemme for sine slutbrugere (kladder, sager). Opbevares i AgentBase' egen PostgreSQL hos Hetzner DE på lige fod med øvrige applikationsdata.syv.ai
1.62026-09-10Afsnit 4 og 7: byggeklodsers hukommelse mellem kørsler beskrevet med opbevaring og sletning (ingen brugerkolonne, ingen udløbsdato, kaskadesletning med flowet, nulstilling som den praktiske slettevej, forbehold om arkiverede flows).syv.ai