Opbevaring af dokumentation
fremforge opbevarer seks slags dokumentation om din organisation. Hver har sin egen opbevaringsindstilling med grænser og en dokumenteret standard, som er det, alle organisationer havde, før indstillingerne fandtes. En ejer ændrer dem under Rapporter → Opbevaring af dokumentation i administrationskonsollen eller med API’et.
Klasserne
| Klasse | Hvad det er | Standard | Du kan sætte | Slettes af |
|---|---|---|---|---|
audit_payload | Actor og felter for hver hændelse i revisionsloggen. Efter grænsen er hændelsen, dens tidspunkt og dens post i hashkæden tilbage. | 90 dage (365 på enterprise-, custom-trial- og interne planer) | 90, 180, 365 eller 730 dage | den daglige redigering af revisionsindhold |
access_log | Registry’ets adgangslog: hvem der downloadede, uploadede eller slettede hvilken pakke, fra hvilken IP-adresse. | følger audit_payload | 30 til 730 dage | det daglige opbevaringsjob for adgangsloggen |
findings_history | Fund, der blev løst: pakkefund, fund af ondsindede afhængigheder og fund af SHA-fastlåsning. Åbne og afviste fund er aktuel tilstand og påvirkes ikke. Også det daglige øjebliksbillede bag tendensen i afhjælpningsmålene, som opbevares i 18 måneder, når denne ikke er sat. | opbevares, så længe organisationen findes (afhjælpningstendensen: 18 måneder) | 365 til 3650 dage | den natlige oprydning efter opbevaringsreglerne |
sbom | SBOM’er for builds, der ikke blev udgivet. SBOM’er for udgivelser, for standardbranchens head, for aktuelle images og for pakkefiler opbevares. | 14 dage | 0 til 3650 dage | den daglige oprydning af SBOM’er |
attestation | SLSA-provenance-attesteringer og deres Sigstore-bundter. En, der er bundet til en uforanderlig udgivelse, opbevares sammen med udgivelsen, uanset alder. | opbevares, så længe organisationen findes | 365 til 3650 dage | den daglige oprydning af SBOM’er |
export_bundle | Hvor længe en dataeksport tilbydes til download. Selve filen slettes efter 7 dage. | 7 dage | 1 til 7 dage | den natlige oprydning efter opbevaringsreglerne; filen af lagerreglen |
Hvorfor disse grænser. De to klasser, der rummer personoplysninger, revisionsindholdet og adgangsloggen (actor, IP-adresse), stopper ved 730 dage, den længste periode, som privatlivserklæringen §6 og DPA’ens bilag A.7 angiver for sikkerhedsrevisionshændelser. Eksportdownloads stopper ved de 7 dage, som §6 angiver for eksporter. De andre klasser rummer ingen personoplysninger ud over det, en revisionshændelse allerede registrerer, og går op til 10 år, den opbevaring, som EU’s Cyber Resilience Act fastsætter for teknisk dokumentation.
Selve eksportfilen slettes 7 dage efter, at den blev lavet, i eu-de og i dens katastrofegendannelseskopi i eu-nl (siden 2026-10-08; før var det 90 dage og 13 måneder for DR-kopien). export_bundle kan trække downloaden tilbage tidligere. Under et legal hold opbevares filen i begge regioner, og når holdet ophæves, slettes den 7 dage efter, at den blev lavet. Eksportens registrering (hvad der blev eksporteret, hvornår, af hvem, dens manifest) opbevares også under et legal hold.
Legal hold
Mens din organisation er under et legal hold, er sletning af alle klasser sat i bero: revisionsindholdet redigeres ikke, rækker i adgangsloggen, løste fund, SBOM’er, attesteringer og eksportregistreringer slettes ikke, fund fra pull requests ryddes ikke, når pull requesten lukkes, og fundene for et slettet, omdøbt eller overført repository fjernes ikke. Dine indstillinger bevares og gælder igen natten efter, at holdet er ophævet. Både konsolsiden og API’et viser, når et hold er aktivt.
Slettede, omdøbte og overførte repositories
Et repositorys fund på standardbranchen (kodescanning, afhængigheder, licenser, secrets, ondsindede afhængigheder, repositoryets Trivy-scanning, SHA-fastlåsning) opbevares under dets navn, så længe en scanning kan erstatte dem. Når et repository slettes, bliver det i organisationens papirkurv i dets 30 dages gendannelsesvindue, og dets fund bliver hos det: en gendannelse bringer repositoryet tilbage med dets fund og afvisninger, som de var. Ved den første daglige kørsel efter gendannelsesvinduets udløb (eller efter at repositoryet er slettet helt, omdøbt eller overført, når Forgejo ikke længere har et repository under det gamle navn) fjernes de fund, der er registreret under det gamle navn, sammen med deres vurderinger af reachability, scanningstilstand, baselines for pull request-gates og afvisninger for hele repositoryet, så et nyt repository, der senere oprettes under samme navn, starter rent. Gælder siden 2026-10-16; før det forblev de åbne.
Hver fjernelse står i revisionsloggen som code-security.findings.repo_gone_purged med repositoryet og antallet af fjernede rækker. Compliancerapporten tæller de fjernede fund som rettet den dag, de fjernes, som den gør for ethvert fund, der forsvinder. Tidligere revisionshændelser, herunder hver afvisning, bevares. Fund fra repositoryets pull requests ryddes, når pull requestene lukkes, som før. Fund for publicerede container-images 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-retentionLæsning kræver policy:read, ændring kræver policy:write. Felterne er audit_payload_days, access_log_days, findings_history_days, sbom_non_release_days, attestation_days og export_bundle_days; null nulstiller en klasse til dens standard, og en værdi uden for grænserne afvises med 400. Svaret viser hver klasse med configured_days (det, du har sat, eller null), effective_days (det, jobbet anvender nu; null betyder, at den opbevares, så længe organisationen findes), default_days, min_days, max_days og om den rummer personoplysninger, samt legal_hold.active.
Hver ændring står i revisionsloggen som tenant.evidence_retention.updated med hver ændret klasses værdi før og efter. Dataeksporten indeholder den samme liste i policy/settings/retention.ndjson.
Den ældre opbevaringsindstilling for revisionsloggen under Godkendelsespolitik → Opbevaring af revisionslog og SBOM-indstillingen på SBOM-siden er de samme værdier som audit_payload og sbom her; begge steder ændrer dem.
Hvad opbevaringen ikke dækker
- Det manipulationssikre arkiv over revisionskæden i 3 år (WORM), som ingen indstilling forkorter. Se Opbevaring af revisionsloggen.
- Backups, som udløber efter deres egen tidsplan (DPA §9).
- Hvad der sker, når din organisation er opsagt: det følger livscyklussen.