Gå til hovedinnhold

Oppbevaring av bevis

fremforge oppbevarer seks typer bevis om organisasjonen din. Hver har sin egen innstilling for oppbevaring med grenser, og en dokumentert standardverdi som er det alle organisasjoner hadde før innstillingene fantes. En eier endrer dem under Rapporter → Oppbevaring av bevis i administrasjonskonsollen, eller med API-et.

Klassene

KlasseHva det erStandardDu kan setteSlettes av
audit_payloadAktøren og feltene i hver hendelse i revisjonsloggen. Etter grensen blir hendelsen, tidspunktet og oppføringen i hashkjeden stående.90 dager (365 på enterprise-, custom-trial- og interne planer)90, 180, 365 eller 730 dagerden daglige sladdingen av revisjonsdata
access_logTilgangsloggen for registeret: hvem som lastet ned, lastet opp eller slettet hvilken pakke, fra hvilken IP-adresse.følger audit_payload30 til 730 dagerden daglige jobben for oppbevaring av tilgangsloggen
findings_historyFunn som er løst: funn i pakker, ondsinnede avhengigheter og SHA-låsing. Åpne og avviste funn er nåværende tilstand og påvirkes ikke. Også det daglige øyeblikksbildet bak utviklingen i målinger av utbedring, som beholdes i 18 måneder når denne ikke er satt.beholdes så lenge organisasjonen finnes (utviklingen i utbedring: 18 måneder)365 til 3650 dagerden nattlige oppryddingen av oppbevaring
sbomSBOM-er for bygg som ikke ble utgitt. SBOM-er for utgivelser, for toppen av standardbranchen, for nåværende imager og for pakkefiler beholdes.14 dager0 til 3650 dagerden daglige beskjæringen av SBOM-er
attestationSLSA-proveniensattesteringer og tilhørende Sigstore-pakker. En attestering som er knyttet til en uforanderlig utgivelse, beholdes sammen med utgivelsen, uansett alder.beholdes så lenge organisasjonen finnes365 til 3650 dagerden daglige beskjæringen av SBOM-er
export_bundleHvor lenge en dataeksport blir tilbudt for nedlasting. Selve filen slettes etter 7 dager.7 dager1 til 7 dagerden nattlige oppryddingen av oppbevaring; filen av lagringsregelen

Hvorfor disse grensene. De to klassene som inneholder personopplysninger, revisjonsdataene og tilgangsloggen (aktør, IP-adresse), stopper ved 730 dager, den lengste perioden personvernerklæringen §6 og databehandleravtalens vedlegg A.7 oppgir for sikkerhetsrelaterte revisjonshendelser. Nedlasting av eksporter stopper ved de 7 dagene §6 oppgir for eksporter. De andre klassene inneholder ingen personopplysninger ut over det en revisjonshendelse allerede registrerer, og går opp til 10 år, oppbevaringstiden EUs Cyber Resilience Act fastsetter for teknisk dokumentasjon.

Selve eksportfilen slettes 7 dager etter at den ble laget, i eu-de og i kopien for katastrofegjenoppretting i eu-nl (siden 2026-10-08; det var 90 dager, og 13 måneder for gjenopprettingskopien). export_bundle kan trekke tilbake nedlastingen tidligere. Under en rettslig tilbakeholdelse beholdes filen i begge regioner, og når tilbakeholdelsen oppheves, slettes den 7 dager etter at den ble laget. Oppføringen av eksporten (hva som ble eksportert, når, av hvem, og manifestet) beholdes også under en rettslig tilbakeholdelse.

Rettslig tilbakeholdelse

Så lenge organisasjonen din er under en rettslig tilbakeholdelse (legal hold), er slettingen av alle klasser satt på pause: revisjonsdata sladdes ikke, rader i tilgangsloggen, løste funn, SBOM-er, attesteringer og eksportoppføringer slettes ikke, funn i pull requests fjernes ikke når pull requesten lukkes, og funnene i et slettet, omdøpt eller overført repository fjernes ikke. Innstillingene dine beholdes og gjelder igjen natten etter at tilbakeholdelsen er opphevet. Både konsollsiden og API-et forteller når en tilbakeholdelse er aktiv.

Slettede, omdøpte og overførte repositoryer

Funnene på et repositorys standardbranch (kodeskanning, avhengigheter, lisenser, secrets, ondsinnede avhengigheter, repositoryets Trivy-skanning, SHA-låsing) beholdes under navnet så lenge en skanning kan erstatte dem. Når et repository slettes, ligger det i organisasjonens papirkurv i gjenopprettingsvinduet på 30 dager, og funnene følger med: en gjenoppretting bringer repositoryet tilbake med funnene og avvisningene slik de var. Ved den første daglige kjøringen etter at gjenopprettingsvinduet er slutt (eller etter at repositoryet er slettet direkte, omdøpt eller overført, når Forgejo ikke lenger har et repository under det gamle navnet), fjernes funnene som er registrert under det gamle navnet, sammen med nåbarhetsvurderingene, skannetilstanden, grunnlinjene for sperrene på pull requests og avvisningene for hele repositoryet, slik at et nytt repository som opprettes senere under samme navn, starter rent. Gjelder siden 2026-10-16; før det forble de åpne.

Hver fjerning står i revisjonsloggen som code-security.findings.repo_gone_purged, med repositoryet og antall rader som ble fjernet. Samsvarsrapporten teller de fjernede funnene som rettet den dagen de fjernes, slik den gjør for alle funn som forsvinner. Tidligere revisjonshendelser, inkludert hver avvisning, beholdes. Funn i repositoryets pull requests fjernes når pull requestene lukkes, som før. Funn i publiserte containerimager følger imaget, ikke repositoryet.

API

# read
curl -H "Authorization: Bearer ${FREMFORGE_PAT}" \
  https://frem.sh/_app/api/v1/orgs/acme/evidence-retention

# set two classes, reset one to its default
curl -X PATCH -H "Authorization: Bearer ${FREMFORGE_PAT}" -H 'Content-Type: application/json' \
  -d '{"access_log_days": 180, "findings_history_days": 1095, "attestation_days": null}' \
  https://frem.sh/_app/api/v1/orgs/acme/evidence-retention

Lesing krever policy:read, endring krever policy:write. Feltene er audit_payload_days, access_log_days, findings_history_days, sbom_non_release_days, attestation_days og export_bundle_days; null tilbakestiller en klasse til standardverdien, og en verdi utenfor grensene avvises med 400. Svaret lister hver klasse med configured_days (det du har satt, eller null), effective_days (det jobben bruker nå; null betyr at det beholdes så lenge organisasjonen finnes), default_days, min_days, max_days og om den inneholder personopplysninger, pluss legal_hold.active.

Hver endring står i revisjonsloggen som tenant.evidence_retention.updated, med verdien før og etter for hver klasse som ble endret. Dataeksporten har den samme listen i policy/settings/retention.ndjson.

Den eldre innstillingen for oppbevaring av revisjonsdata under Autentiseringspolicy → Oppbevaring av revisjonsloggen og SBOM-innstillingen på SBOM-siden er de samme verdiene som audit_payload og sbom her; begge steder endrer dem.

Hva oppbevaringen ikke dekker

  • Det manipulasjonsavslørende arkivet for revisjonskjeden på 3 år (WORM), som ingen innstilling kan forkorte. Se Oppbevaring av revisjonsloggen.
  • Sikkerhetskopier, som utløper etter sin egen plan (databehandleravtalen §9).
  • Hva som skjer etter at organisasjonen din er avsluttet: det følger livssyklusen.