Lagring av bevis
fremforge sparar sex typer av bevis om din organisation. Var och en har sin egen inställning för lagringstid med gränser, och ett dokumenterat standardvärde som är det som varje organisation hade innan inställningarna fanns. En ägare ändrar dem under Rapporter → Lagring av bevis i administrationskonsolen, eller med API:t.
Klasserna
| Klass | Vad det är | Standard | Du kan ange | Raderas av |
|---|---|---|---|---|
audit_payload | Aktören och fälten för varje händelse i granskningsloggen. Efter gränsen finns händelsen, dess tid och dess post i hashkedjan kvar. | 90 dagar (365 för enterprise-, anpassade provperiods- och interna planer) | 90, 180, 365 eller 730 dagar | den dagliga maskeringen av granskningsdata |
access_log | Åtkomstloggen för registry: vem som laddade ned, laddade upp eller raderade vilket paket, från vilken IP-adress. | följer audit_payload | 30 till 730 dagar | det dagliga lagringsjobbet för åtkomstloggen |
findings_history | Fynd som har lösts: fynd för paket, skadliga beroenden och SHA-låsning. Öppna och avfärdade fynd är aktuellt läge och påverkas inte. Dessutom den dagliga ögonblicksbilden bakom trenden i åtgärdsmåtten, som sparas i 18 månader när detta inte är angivet. | sparas så länge organisationen finns (åtgärdstrenden: 18 månader) | 365 till 3650 dagar | den nattliga lagringsrensningen |
sbom | SBOM:er för byggen som inte släppts. Releasers SBOM:er och SBOM:erna för standardbranchens head, aktuella images och paketfiler sparas. | 14 dagar | 0 till 3650 dagar | den dagliga rensningen av SBOM:er |
attestation | SLSA-provenance-attesteringar och deras Sigstore-paket. En som är knuten till en oföränderlig release sparas med releasen, oavsett ålder. | sparas så länge organisationen finns | 365 till 3650 dagar | den dagliga rensningen av SBOM:er |
export_bundle | Hur länge en dataexport erbjuds för nedladdning. Själva filen raderas efter 7 dagar. | 7 dagar | 1 till 7 dagar | den nattliga lagringsrensningen; filen av lagringsregeln |
Varför de här gränserna. De två klasser som innehåller personuppgifter, granskningsdata och åtkomstloggen (aktör, IP-adress), stannar vid 730 dagar, den längsta period som integritetsmeddelandet §6 och DPA:ns bilaga A.7 anger för säkerhetshändelser i granskningsloggen. Nedladdningar av exporter stannar vid de 7 dagar som §6 anger för exporter. De andra klasserna innehåller inga personuppgifter utöver det som en granskningshändelse redan registrerar och sträcker sig till 10 år, den lagringstid som EU:s Cyber Resilience Act anger för teknisk dokumentation.
Själva exportfilen raderas 7 dagar efter att den skapades, i eu-de och i dess kopia för katastrofåterställning i eu-nl (sedan 2026-10-08; tidigare 90 dagar, och 13 månader för DR-kopian). export_bundle kan dra tillbaka nedladdningen tidigare. Under ett rättsligt bevarande sparas filen i båda regionerna, och när bevarandet hävs raderas den 7 dagar efter att den skapades. Exportens post (vad som exporterades, när, av vem, dess manifest) sparas också under ett rättsligt bevarande.
Rättsligt bevarande
Medan din organisation omfattas av ett rättsligt bevarande skjuts raderingen av varje klass upp: granskningsdata maskeras inte, rader i åtkomstloggen, lösta fynd, SBOM:er, attesteringar och exportposter raderas inte, fynd i pull requests rensas inte när pull requesten stängs, och fynden för ett raderat, omdöpt eller överfört repo tas inte bort. Dina inställningar behålls och gäller igen natten efter att bevarandet hävts. Både konsolsidan och API:t säger när ett bevarande är aktivt.
Raderade, omdöpta och överförda repon
Ett repos fynd på standardbranchen (kodskanning, beroenden, licenser, hemligheter, skadliga beroenden, repots Trivy-skanning, SHA-låsning) sparas under dess namn så länge en skanning kan ersätta dem. När ett repo raderas ligger det kvar i organisationens papperskorg under sitt fönster på 30 dagar för återställning, och dess fynd följer med: en återställning tar tillbaka repot med dess fynd och avfärdanden som de var. Vid den första dagliga körningen efter att återställningsfönstret har gått ut (eller efter att repot raderats direkt, döpts om eller överförts, när Forgejo inte längre har något repo under det gamla namnet) tas fynden som arkiverats under det gamla namnet bort, tillsammans med deras bedömningar av nåbarhet, skanningsläge, baslinjer för spärren i pull requests och avfärdanden för hela repot, så att ett nytt repo som senare skapas under samma namn börjar rent. Sedan 2026-10-16; innan dess förblev de öppna.
Varje borttagning finns i granskningsloggen som code-security.findings.repo_gone_purged, med repot och antalet borttagna rader. Efterlevnadsrapporten räknar de borttagna fynden som åtgärdade den dag de tas bort, som den gör för alla fynd som försvinner. Tidigare granskningshändelser, inklusive varje avfärdande, sparas. Fynd från repots pull requests rensas när pull requesterna stängs, som tidigare. Fynd för publicerade container-images följer imagen, inte repot.
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-retentionAtt läsa kräver policy:read, att ändra kräver policy:write. Fälten är audit_payload_days, access_log_days, findings_history_days, sbom_non_release_days, attestation_days och export_bundle_days; null återställer en klass till standardvärdet, och ett värde utanför gränserna avvisas med 400. Svaret listar varje klass med configured_days (det du angav, eller null), effective_days (det som jobbet tillämpar nu; null betyder att det sparas så länge organisationen finns), default_days, min_days, max_days och om den innehåller personuppgifter, plus legal_hold.active.
Varje ändring finns i granskningsloggen som tenant.evidence_retention.updated, med varje ändrad klass värde före och efter. Dataexporten innehåller samma lista i policy/settings/retention.ndjson.
Den äldre inställningen för granskningslagring under Autentiseringspolicy → Lagringstid för granskningslogg och SBOM-inställningen på SBOM-sidan är samma värden som audit_payload och sbom här; du kan ändra dem på vilket av ställena som helst.
Vad lagringen inte omfattar
- Arkivet för den manipuleringsskyddade granskningskedjan på 3 år (WORM), som ingen inställning kan förkorta. Se Lagringstid för granskningsloggen.
- Säkerhetskopior, som löper ut enligt sitt eget schema (DPA §9).
- Vad som händer efter att din organisation har sagts upp: det följer livscykeln.