Vejledning og indsigt

Data-retention-aware AI API-routing: håndhæv ZDR-, opholds- og logføringspolitikker ved gatewayen

En praktisk gateway-arkitektur til at dirigere AI API-trafik ved hjælp af dataopbevaringspolitik: klassificer anmodningsfølsomhed, kortudbyderens opbevaringsadfærd, bloker inkompatible funktioner, bevar sikker analyse og kontroller hver beslutning.

Sikkerhedsteams behøver ikke kun at vide, hvilken model der er billigst, hurtigst eller bedst. De skal vide, om en specifik anmodning lovligt og operationelt kan sendes til en bestemt udbyder, slutpunkt, region, funktion og logningstilstand.

Det er sværere end det lyder. En model kan være acceptabel til almindelig intern chat, men ikke til kunde-PII. En udbyder kan tilbyde nul dataopbevaring for én API-sti, mens en søgebaseret funktion gemmer prompter og output i en fast periode. En region understøtter muligvis lagerophold, men ikke den behandlingstilstand, du forventede. Udviklerejede logfiler kan konfigureres, mens logfiler for overvågning af misbrug af udbydere følger en anden politik.

Det praktiske svar er at flytte beslutninger om opbevaring ud af individuelle applikationer og ind i AI API-gatewayen. Gatewayen bør klassificere anmodningen, evaluere den i forhold til en matrix for udbyderkapacitet, blokere inkompatible funktioner, kun rute til godkendte modelprofiler og registrere en politikbeslutning uden at lagre rå prompter som standard.

Læserproblemet: udbyderens privatlivsvilkår er ikke køretidskontrol

De fleste teams starter med et regneark eller sikkerhedsgennemgang, der siger, hvilke AI-udbydere der er godkendte. Det er nyttigt, men det er ikke nok til produktionsdirigering.

Applikationer foretager kørselstidsvalg:

  • Hvilket model-id skal håndtere denne anmodning?
  • Skal anmodningen bruge søgejording, filupload, kodekørsel, batchbehandling, prompt-caching eller lagrede samtaler?
  • Hvilket område eller slutpunkt skal behandle anmodningen?
  • Kan systemet logge den rå prompt for fejlretning?
  • Kan reserveruting sende den samme anmodning til en anden udbyder?

Hvert af disse valg kan ændre opbevaringsprofilen. En anmodning, der var kompatibel i almindelig chattilstand, kan blive ikke-kompatibel, når udvikleren slår jordforbindelse eller vedvarende samtalelagring til. En reserveregel, der er designet til pålidelighed, kan ved et uheld dirigere regulerede data til en udbydersti, der ikke er blevet godkendt til nul dataopbevaring, dataophold eller kontrol af misbrugsovervågning.

Anbefaling: Behandl opbevaringsadfærd som en førsteklasses routingbegrænsning, ikke som dokumentation knyttet til en udbyderkonto.

Fakta, der skal kodes, før politik udformes

De nøjagtige vilkår varierer efter udbyder, produkt, kontrakt, område, slutpunkt og funktion. Stol ikke på hukommelse eller en engangsgennemgang. Byg en kildeejet matrix, og opdater den, når vilkårene ændres.

Flere aktuelle offentlige udbyderdokumenter illustrerer, hvorfor dette er nødvendigt:

  • OpenAI: API-dataresidency er dokumenteret som projektkonfigureret, med regionale anmodninger, der kræver regionsspecifikke domænepræfikser. OpenAI skelner også lagringsunderstøttelse fra behandlingsunderstøttelse efter region og bemærker yderligere krav til ikke-amerikanske regioner. OpenAI oplyser, at ikke-amerikansk API-dataresidency kræver godkendelse til kontrol med misbrugsovervågning og en modificeret opbevaringstillæg.
  • Anthropic: Anthropic dokumenterer nul dataopbevaring for API-relaterede kommercielle brugssager, mens det bemærkes, at nogle relaterede produkter eller overholdelsesfeeds har separate opbevaringsmodeller, herunder længere opbevaring for aktivitetsfeed og transskriptioner af fjernsessioner.
  • Google Gemini: Gemini API-vilkår skelner mellem ubetalte og betalte tjenester. For ubetalte tjenester kan Google bruge indsendt indhold og genererede svar til at forbedre produkter; for betalte tjenester, siger Google, at prompter og svar ikke bruges til at forbedre produkter. Gemini Developer API ZDR-dokumentation siger, at overvågningslogfiler for misbrug af betalte tjenester normalt gemmer meddelelser og svar i en begrænset periode, mens godkendte ZDR-projekter rydder brugerindhold og identificerbare metadata, før de logges.
  • Funktionsspecifik lagring: Gemini-dokumentationen angiver, at jordforbindelse med Google Søgning og jordforbindelse med Google Maps gemmer meddelelser, kontekstuelle oplysninger og genereret output i 30 dage, uden at det er muligt at deaktivere denne lagring, når disse funktioner bruges.
  • Udviklerejede logfiler: Gemini API-logføringsdokumentation siger, at udvikler-ejede API-logfiler som standard kan opbevares i op til 55 dage for faktureringsaktiverede projekter, og at udviklere kan vælge kortere vinduer såsom 7, 14 eller 28 dage.
  • Risikostyring: NISTs Generative AI Profile anbefaler overvågning af AI-genereret indhold for privatlivsrisici og forbinder generative AI-politikker til eksisterende data, software, juridiske, compliance- og risikostyringsprocesser.

Dette er fakta, der skal verificeres i forhold til den aktuelle leverandørdokumentation før udrulning. Den arkitektoniske lektion er stabil: Fastholdelse er ikke et boolesk niveau på udbyderniveau.

Arkitektur: en gateway-politikmotor i anmodningsstien

En opbevaringsbevidst gateway har fem kernekomponenter:

  1. Request sensitivity classifier: mærker arbejdsbyrden før routing.
  2. Matrix for udbyderkapacitet: beskriver udbyder, model, slutpunkt, region, fastholdelse, logning og funktionsadfærd.
  3. Politik-som-kode-regler: Konverter sikkerhedskrav til kørselstidstilladelse, afvisning eller gennemgang af beslutninger.
  4. Funktionsgatelag: blokerer funktioner, der ændrer fastholdelse, medmindre det udtrykkeligt er tilladt.
  5. Revisions- og analyselag: registrerer nyttige metadata uden at lagre rå prompter som standard.

Gatewayen behøver ikke at forstå alle juridiske nuancer. Den skal håndhæve de beslutninger, som dine juridiske, sikkerheds-, compliance- og platformsteam har godkendt.

Trin 1: klassificer anmodningsfølsomhed, før du vælger en model

Start med en lille klassifikationstaksonomi. Det skal være enkelt nok for udviklere at bruge, men udtryksfuldt nok til at drive politik.

Eksempler på følsomhedsetiketter:

  • offentlig: offentlig dokumentation, markedsføringskopi, offentligt webstedsindhold.
  • intern: ikke-offentlige virksomhedsoplysninger med lav følsomhed.
  • fortroligt: strategi, kontrakter, kundekontekst, ikke-frigivne produktdetaljer.
  • customer_pii: navne, e-mails, adresser, konto-id'er, supportudskrifter.
  • reguleret: sundhedspleje, finansielle, juridiske, uddannelses- eller jurisdiktionsspecifikke beskyttede data.
  • kildekode: proprietær kode, konfiguration, arkitekturfiler.
  • legitimationsoplysninger: hemmeligheder, tokens, adgangskoder, private nøgler. I de fleste systemer bør dette blokeres, ikke omdirigeres.

Klassificering kan komme fra flere kilder:

  • En applikationsleveret header, såsom X-Data-Class: customer_pii.
  • Lejerpolitik, hvor al trafik fra en reguleret kunde behandles som reguleret, medmindre den nedgraderes af en godkendt regel.
  • Endpunktspolitik, hvor support-ticket-opsummering som standard er customer_pii.
  • Letvægtsindholdsscanning for legitimationsoplysninger, åbenlyse PII eller politikovertrædelser.

Anbefaling: er ikke helt afhængig af automatisk registrering. Kræv, at applikationer erklærer den tilsigtede dataklasse, og brug derefter scanning til at fange åbenlyse uoverensstemmelser eller tvinge en sikrere klasse.

Trin 2: Byg en matrix for udbyderkapacitet

Kompetencematricen er kilden til sandhed, som routeren vurderer. Den skal versioneres, gennemgås og testes ligesom produktionskonfiguration.

Eksempel på felter:

{ "profile_id": "provider_x.chat.eu.zdr", "udbyder": "udbyder_x", "model": "model-stor", "api_family": "chatafslutninger", "endpoint": "https://eu.example-provider.com/v1", "region": "eu", "processing_residency": ["eu"], "storage_residency": ["eu"], "zdr_eligible": sandt, "zdr_contract_required": sandt, "training_use": "ikke_brugt_til_træning_på_betalt_api", "abuse_monitoring": "godkendt_modificeret_retention_required", "developer_log_retention_days": 0, "raw_prompt_logging_allowed": falsk, "supported_features": { "plain_chat": sandt, "streaming": sandt, "tool_calls": sandt, "search_grounding": falsk, "maps_grounding": falsk, "file_upload": falsk, "batch": falsk, "stored_conversations": falsk }, "last_reviewed": "2026-08-01", "source_refs": ["security-review-123", "vendor-doc-version-abc"] }

Brug modelprofiler i stedet for rå model-id'er. En profil kombinerer model, udbyder, slutpunkt, region, funktionssæt og fastholdelsesposition. Udviklere anmoder om model_profile: compliant_summarization, ikke kun model: fastest-large-model.

Anbefaling: medtag kontraktmæssige forudsætninger i matrixen. En rute er ikke ZDR-godkendt, blot fordi en leverandør tilbyder ZDR et eller andet sted. Den godkendes kun, når din konto, dit projekt, din region og dit slutpunkt opfylder de påkrævede betingelser.

Trin 3: Skriv politik-som-kode-regler

Politikregler bør være eksplicitte, testbare og læsbare af sikkerheds- og platformsteams.

Eksempler på regler i pseudokode:

afvis hvis data_class == "legitimationsoplysninger"
  årsag til "legitimationsoplysninger_må_ikke_sendes_til_model"
tillad kun, hvis data_class i ["regulated", "customer_pii"]
  og profile.zdr_eligible == sand
  og profile.zdr_contract_required_satisfied == sand
  reason_on_failure "model_profile_not_zdr_eligible"
afvis hvis residency_required == "eu"
  og "eu" ikke i profile.processing_residency
  årsag til "region_processing_not_supported"
afvis hvis data_klasse i ["fortroligt", "kunde_pii", "reguleret"]og request.raw_prompt_logging == sand
  årsag til "raw_prompt_logging_not_allowed"
afvis hvis request.features.search_grounding == sand
  og policy.requires_zdr == sand
  og profile.feature_storage.search_grounding_days > 0
  årsag "grounding_requires_retained_content"
afvis hvis fallback_profile.retention_level < primary_profile.retention_level
  årsag til "fallback_weakens_retention_policy"

Disse regler bør køre før udbydervalg og igen før fallback. Fallback-ruting er en almindelig kilde til utilsigtet politikafvigelse: Den primære rute kan være kompatibel, mens reserveruten kun er tilgængelig.

Trin 4: Behandl værktøjer og funktioner som fastholdelsesændrende egenskaber

Modellertilbageholdelse må ikke alene være en egenskab for basismodellen. Funktioner ændrer ofte lagring, logning eller anmeldelsesadfærd.

Giv hver funktion sine egne politikflag:

  • Søgejording: kan gemme prompter, hentet kontekst og genereret output afhængigt af udbyderens vilkår.
  • Kort eller placeringsjording: kan introducere lokationsspecifikke logfiler eller opbevaringsregler.
  • Filupload: kan gemme filer adskilt fra meddelelser og svar.
  • Kodekørsel: kan skabe midlertidige filer, udførelseslogfiler eller sandkasseartefakter.
  • Batchjobs: kan have en anden opførsel til opbevaring, kødannelse og resultatlagring end synkrone API-kald.
  • Gemmede samtaler: bevidst vedvarende indhold og bør aldrig skjules bag en generisk chatmulighed.
  • Betjeningspaneler for evaluering eller gennemgang: kan skabe arbejdsgange for menneskelig anmeldelse eller længerevarende datasæt.

Anbefaling: gør fastholdelsesændrende funktioner tilvalg på lejer- og ruteniveau. Hvis en udvikler aktiverer grounding_search=true, bør gatewayen revurdere anmodningen i forhold til funktionslagringsregler, før den sendes opstrøms.

Trin 5: Bevar analyser uden at gemme rå prompts

Retentionsbevidst routing bør ikke blinde platformsteamet. Du kan beholde nyttige AI-brugsanalyser, mens du minimerer indholdslagring.

Sikkere standardtelemetrifelter:

  • lejer-id og projekt-id
  • hashed eller intern API-nøgle-id
  • modelprofil-id og udbyder-id
  • anmod om tidsstempel og område
  • antal for input, output, cachelagrede og begrundelsestoken, når det er tilgængeligt
  • forsinkelse, statuskode, tælling af genforsøg og reservebeslutning
  • estimerede og afregnet omkostninger
  • dataklassificeringsetiket
  • politikversion og årsag til politikbeslutning
  • anmodede funktionsflag og funktionsflag tilladt

Undgå at gemme rå prompter og modeloutput som standard til fortrolig trafik. Hvis fejlretning kræver indhold, skal du bruge en kontrolleret arbejdsgang:

  • kunde- eller lejergodkendelse
  • snævert tidsvindue
  • prøveudtagningsgrænse
  • redigeringspas
  • separat adgangskontrol
  • kort udløb
  • revisionslog over, hvem der aktiverede det, og hvorfor

Dette er en afvejning. Blokering af rå promptlogfiler gør fejlfinding, support, kvalitetsgennemgang og misbrugsundersøgelse sværere. Men at gemme alt som standard skaber en større privatlivs-, brud- og compliance-overflade.

Trin 6: returner årsager til afvisning, der kan gøres gældende

En generisk 403 forbidden frustrerer udviklere og tilskynder til løsninger. Returner en stabil maskinlæsbar årsag og en menneskelæselig forklaring.

Eksempel på svar:

{ "fejl": { "type": "policy_denied", "code": "grounding_requires_30_day_storage", "message": "Søgejording er ikke tilladt for arbejdsbelastninger markeret requires_zdr, fordi denne udbyderfunktion gemmer prompt, kontekst og outputindhold.", "request_id": "req_123", "policy_version": "retention-policy-2026-08-01", "allowed_actions": [ "disable_search_grounding", "choose_profile:zdr_plain_chat", "request_exception" ] } }

Nyttige afvisningskoder omfatter:

  • model_profile_not_zdr_eligible
  • region_processing_not_supported
  • storage_residency_not_supported
  • raw_prompt_logging_not_allowed
  • feature_requires_content_storage
  • fallback_weakens_retention_policy
  • contract_prerequisite_missing
  • credentials_detected

Trin 7: Tilføj en undtagelsesarbejdsgang, ikke en skjult bypass

Nogle undtagelser er legitime: Hændelsesrespons, kundegodkendt fejlfinding, migreringstest eller en midlertidig udbyderbegrænsning. Gatewayen bør understøtte undtagelser uden at gøre dem til permanent skyggepolitik.

Hver undtagelse bør omfatte:

  • godkenderidentitet
  • anmodende team eller lejer
  • link til billet eller risikovurdering
  • forretningsbegrundelse
  • tilladte modelprofiler og funktioner
  • dataklasser dækket
  • udløbsdato
  • yderligere logningskrav

Anbefaling: gør undtagelser snævrere end almindelig politik. Undgå globale switches såsom disable_retention_policy=true. Foretrækker omfangsmæssige tilsidesættelser såsom "tillad logning af fejlretningsprompt for lejer A, slutpunkt B, i 24 timer, med redaktion og sikkerhedsgodkendelse."

Driftstjekliste

  • Opret en versioneret matrix for udbyderkapacitet.
  • Tildel en ejer for udbydervilkår, kontraktforudsætninger og tilbageholdelsesgennemgange.
  • Kræv, at applikationer angiver dataklasse, opholdskrav og anmodede funktioner.
  • Standard fortrolig og reguleret trafik til ingen rå prompt logning.
  • Repræsenter værktøjer, jordforbindelse, filupload, batch- og lagrede samtaler som separate kapacitetsflag.
  • Kør politiktjek før primær routing og før fallback routing.
  • Logpolitikversion, modelprofil, dataklasse, funktionsflag og grund til afvisning.
  • Hold analysemetadata adskilt fra prompt- og outputindhold.
  • Testrepræsentanten tillader og afviser tilfælde i CI.
  • Gennemgå politikskift, når en udbyder ændrer vilkår, regioner, slutpunkter eller funktioner.

Afvejninger at gøre eksplicit

Streng routing reducerer valgmuligheder. ZDR- og opholdsbegrænsninger kan forhindre brugen af den nyeste model, den billigste rute eller et funktionsrigt slutpunkt.

Regional routing kan øge ventetiden eller omkostningerne. Den nærmeste kompatible region understøtter muligvis ikke den ønskede behandlingstilstand eller kræver muligvis en anden udbydersti.

Funktionsporte overrasker udviklere. En udvikler tror måske, at de kun aktiverer søgning, men sikkerheden ser en ny opbevaringsadfærd. Dokumentation og afvisningsmeddelelser reducerer friktionen.

Prompt minimering komplicerer fejlfinding. Teams har brug for redigerede eksempler, lejergodkendte fejlretningsvinduer og stærke metadata for at undersøge problemer uden at gemme alt.

Matrixen kræver vedligeholdelse. Udbyderens vilkår ændres. Nye modeller lanceres. Regionerne udvides. Funktioner går fra beta til produktion. En gammel matrix er værre end ingen matrix, fordi den skaber falsk tillid.

Hvad er en anbefaling, og hvad er en forudsigelse?

Anbefalinger: håndhæv tilbageholdelse ved gatewayen, klassificer anmodninger før routing, opbyg en matrix for udbyderkapacitet, bloker fastholdelsesændrende funktioner efter politik, undgå rå promptlogning som standard, og versionér hver politikbeslutning.

Forudsigelse: AI-platformsteams vil i stigende grad behandle privatlivets fred som en del af modelvalget. I stedet for at spørge "hvilken model skal vi bruge?" applikationer vil bede om en modelprofil, der opfylder kapacitets-, omkostninger-, latens-, opholds- og fastholdelsesbegrænsninger.

Forudsigelse: udbyderspecifikke privatlivsfunktioner vil fortsat variere. Gateways, der kun normaliserer anmodnings- og svarformater, vil ikke være nok; produktionsteams har også brug for politiknormalisering.

Aktiv konklusion

Data-retention-aware routing er ikke et separat compliance-dashboard. Det hører hjemme i anmodningsstien.

Start med tre leverancer: en taksonomi for anmodningsfølsomhed, en versioneret udbyderkapacitetsmatrix og et lille sæt policy-as-code-regler for ZDR-, residency-, rålogning, fallback og tilbageholdelsesændrende funktioner. Få derefter gatewayen til at returnere klare afvisningsårsager, og bevar analyser uden at gemme råindhold som standard.

Dette design centraliserer beslutninger, der ellers ville være spredt på tværs af SDK-indstillinger, miljøvariabler, udbyderkonsoller og teamspecifikke konventioner. Det giver også sikkerheds- og platformsteams et praktisk revisionsspor: hvilken anmodning blev tilladt, hvilken politikversion anvendte, hvilken modelprofil blev valgt, og hvorfor.

Relateret læsning

FAQ

Ofte stillede spørgsmål

Er nul dataopbevaring en indstilling på udbyderniveau?
Normalt nej. Behandl det som en egenskab på ruteniveau, der afhænger af udbyder, kontogodkendelse, kontraktvilkår, slutpunkt, region, model, API-funktion og logningstilstand. Indkode disse detaljer i en kapacitetsmatrix i stedet for at antage ét udbyderdækkende svar.
Skal gatewayen gemme rå prompter om fejlretning?
Den sikrere standard er ingen rå prompt eller outputlager til fortrolige, PII eller regulerede arbejdsbelastninger. Behold operationelle metadata såsom lejer, modelprofil, tokenantal, latens, omkostninger, status og politikbeslutning. Hvis indholdsfejlretning er nødvendig, skal du bruge en smal, godkendt, tidsbegrænset, redigeret fejlretningstilstand.
Hvordan skal fallback-routing fungere for reguleret trafik?
Fallback-profiler skal opfylde de samme eller strengere politikker for opbevaring, ophold, logning og funktion som den primære profil. Et fallback bør afvises, hvis det svækker ZDR-kvalificering, ændrer region, aktiverer rå logning eller bruger en funktion, der gemmer indhold.
Hvorfor håndteres jordings- og filfunktioner separat fra modelvalg?
Fordi funktioner kan ændre tilbageholdelsesadfærd. En basischatmodel kan være acceptabel i almindelig tilstand, mens søgejording, kortjording, filupload, batchbehandling, lagrede samtaler eller kontroldashboards kan indføre yderligere krav til opbevaring eller logning.