Gå til hovedindhold

Livscyklus for brugere og tenants

Denne side beskriver, hvad der sker og hvornår, i de to livscyklusser, der betyder mest: de personer, du sætter på din organisation, og selve organisationen. I begge livscyklusser er sletning først uigenkaldelig, når den skal være det (efter opbevaringsperioden); alle trin før det kan fortrydes.

Brugerens livscyklus

En bruger findes kun i fremforge som medlem af en eller flere organisationer. At fjerne brugeren fra en organisation er en handling pr. tenant; hele kontoen deaktiveres kun, når brugeren fjernes fra sin sidste organisation.

Fjernelse fra én organisation

Du fjerner et medlem fra din organisation enten manuelt (afsnittet om brugere under Fakturering viser alle medlemmer med seneste aktivitet, kan fjerne flere på én gang og har en politik for automatisk oprydning, du kan slå til) eller via deprovisionering med SCIM fra din IdP. Forløbet er det samme i begge tilfælde:

  1. Forgejos hændelse org_member.removed udløses.
  2. fremforge genberegner seats_in_use ud fra Forgejos aktuelle medlemsliste og udsender revisionshændelsen tenant.seat.released. Den bruger, der er blevet ledig på abonnementet, kan straks bruges til din næste invitation eller dit næste SSO-JIT-login.
  3. Alle PAT’er med organisationsscope, som den fratrådte bruger har til denne tenant, tilbagekaldes.
  4. Hvis det var brugerens sidste organisation, går deaktiveringen af forældreløse konti nedenfor i gang.

Din aftalte grænse for brugere sænkes aldrig af oprydning. seats_in_use falder; grænsen forbliver den samme. For at sænke grænsen bruger du siden Fakturering (nedsættelser træder i kraft ved næste fornyelse; årlig forudbetaling refunderes ikke, jf. vilkårenes §4.7).

Automatisk oprydning af inaktive konti

På siden Medlemmer kan en ejer sætte en grænse for inaktivitet (som standard slået fra). Når den er sat, fjerner et dagligt job de medlemmer, hvis Forgejo-last_login er ældre end grænsen. Ejere, operatørkonti og botkonti fjernes aldrig automatisk; en bundgrænse pr. tenant (som standard 30 dage) forhindrer, at medlemmer ved et uheld fjernes under længere fravær. Det daglige job fjerner højst 50 pr. tenant pr. dag: en sikkerhedsbremse, så en fejlkonfigureret politik ikke kan tømme en hel organisation på én gang.

Deaktivering af forældreløse konti (sidste organisation)

Når fjernelsen ovenfor efterlader en bruger uden medlemskab af nogen organisation på tværs af alle tenants, gør fremforge automatisk følgende:

  1. Sætter prohibit_login=true på Forgejo-brugeren (intet login mere via SSO eller lokale legitimationsoplysninger).
  2. Tilbagekalder alle Forgejo-PAT’er, brugeren ejer, overalt.
  3. Arkiverer, men sletter IKKE, de repositories i brugerens personlige navnerum, som brugeren ejer. Arkivering bevarer historikken; kunden kan gendanne dem ved at invitere brugeren igen, før de 14 dage frem til endelig sletning er gået.
  4. Registrerer deaktiveringen i orphaned_users med cleanup_due_at = today + 14 days.

Inviterer du brugeren til en hvilken som helst organisation inden for de 14 dage, gendannes brugeren: prohibit_login ophæves, der kan udstedes nye PAT’er, og markeringen af den forældreløse konto får et restored_at-stempel, så jobbet til endelig sletning springer den over.

Endelig sletning (forældreløs +14 dage)

Et dagligt job sletter endeligt de Forgejo-konti, der har været deaktiveret som forældreløse i mere end 14 dage og ikke er blevet inviteret igen i den periode. Med 14 dage ligger hele sletningen, inklusive de lagerkopier, der opbevares i 7 dage efter en sletning, inden for de 30 dage, som privatlivspolitikkens §6 lover for kontodata. Forgejo-kaldet DELETE /api/v1/admin/users/{u} fjerner brugerkontoen; brugerens arkiverede personlige repositories fjernes med. Revisionsloggen beholder hændelsen forgejo.user.orphan_hard_deleted, knyttet til den tenant, der oprindeligt udløste den, så forløbet kan spores.

Efter den endelige sletning er brugernavnet og kontoens historik væk. Der er ingen gendannelse efter de 14 dage; opret en ny bruger fra din IdP, hvis det er nødvendigt.

Tenantens livscyklus

En tenant går gennem fem tilstande. Tilstandsmaskinen går kun fremad, bortset fra fortrydelsen cancellation_scheduled → active og genaktiveringen suspended → active.

TilstandUdløses afHvad den betyder
trialTilmeldingDe første 30 dage, intet kort påkrævet. Jobbet for suspendering af prøveperioder flytter til suspended, hvis der ikke er skiftet til betalt inden trial_expires_at.
activeBetalt abonnement starterNormal drift.
suspendedRykkerforløb ud over T+14, eller udløbet prøveperiodeSkriveadgang er sat på pause; læsning, eksport og genaktivering virker stadig.
cancellation_scheduledKunden har opsagtTjenesten fortsætter indtil cancel_effective_at. En fortrydelse fører tilbage til active når som helst før den dato.
cancelledcancel_effective_at er nåetForgejo-organisationen bliver skrivebeskyttet. 90 dage til eksport og genaktivering.
deletedcancel_effective_at + 90dForgejo-organisationen og personoplysninger destrueres permanent. Der udstedes et destruktionscertifikat.

Opsigelse sat i gang

Når du klikker på Opsig abonnement på siden Fakturering:

  • Status skifter til cancellation_scheduled, og cancel_effective_at sættes (månedlig periode: +30 dage; årlig periode: slutdatoen for den forudbetalte forpligtelse, og årlig betaling refunderes ikke, jf. vilkårenes §4.7).
  • Eventuelt igangværende overforbrug afregnes på den aktive betalingsmetode.
  • Mollies SEPA-mandat tilbagekaldes, så der ikke trækkes flere automatiske betalinger.
  • Alle modtagere i billing_emails får en bekræftelse på e-mail. Siden Fakturering viser nu et nedtællingsbanner med datoen, hvor den skrivebeskyttede periode slutter, en opfordring til at eksportere data og en fortryd-knap.

Fortryd-knappen kan bruges helt frem til cancel_effective_at, og igen i den skrivebeskyttede periode på 90 dage via knappen til genaktivering (der sættes en ny betalingsmetode op gennem den almindelige checkout).

Opsigelsen træder i kraft (+0 dage)

Ved cancel_effective_at skifter det daglige job cancellation-effect status til cancelled og arkiverer alle repositories i Forgejo-organisationen (skrivebeskyttet). Selve organisationen og dataene bliver; skriveadgang er sat på pause overalt undtagen Fakturering (til genaktivering) og Dataeksport (til dataportabilitet).

Permanent sletning (+90 dage)

90 dage efter at opsigelsen trådte i kraft, foretager det samme daglige job den fysiske sletning. Sletningen respekterer følgende spærringer, og hver af dem blokerer sletningen for den dag:

  • legal_hold = true på tenanten (et bevaringsflag, som en operatør sætter ved et påbud om bevaring af hensyn til retssager).
  • Et eksportjob, der stadig står i kø eller kører.
  • En igangværende betaling (Mollie-webhookstatus open, pending eller authorized).

Når alle spærringer er væk, gør fremforge følgende:

  1. Udsender revisionshændelsen tenant.physically_deleted (registreret, mens tenantens scope stadig er gyldigt, så revisionskæden fanger handlingen).
  2. Tilbagekalder tenantens egen Renovate-botkonto og dens PAT.
  3. Fjerner webhook-leveringsjobs i kø for tenanten.
  4. Sletter Forgejo-organisationen: repositories, LFS-objekter og hele organisationens tilstand.
  5. Sletter kunderegistreringen hos Mollie.
  6. Sletter tenantens personoplysninger (visningsnavn, faktureringskontaktens e-mail, e-mails til fakturering, Mollie- og Dinero-referencer, momsnummer) og markerer tenanten som slettet.
  7. Danner destruktionscertifikatet som PDF (se nedenfor) og arkiverer det i OBS i den bucket, der er beskyttet af legal hold. Certifikatet sendes på e-mail til den registrerede faktureringskontakt.

Destruktionscertifikat

En PDF på én side, der dannes ved den fysiske sletning og sendes på e-mail til faktureringskontakten. Den indeholder:

  • Organisationens slug, visningsnavn, momsnummer og tenant-id.
  • Datoen, hvor opsigelsen trådte i kraft, og datoen for den permanente sletning.
  • De kategorier af data, der er destrueret (Forgejo-indhold, tenantens konfiguration, medlemskonti i organisationens scope, revisionsdata, personoplysninger til fakturering).
  • De resterende undtagelser for opbevaring, der stadig gælder (se nedenfor).
  • En SHA-256-ankerhash, der knytter certifikatet til revisionshændelsen tenant.physically_deleted, så de kan krydstjekkes.

Har du senere brug for en ny kopi, ligger arkivet i en WORM-låst OBS-bucket. Skriv til compliance@frem.sh, så udsteder vi den igen fra arkivet.

Opbevaringsperioder (DPA §9)

Tid efter opsigelseHvad der sker
+0 dage (cancel_effective_at)Status → cancelled. Forgejo-organisationen arkiveres, skrivebeskyttet. Eksport og genaktivering er mulig.
+90 dageStatus → deleted. Forgejo-organisationen slettes fysisk; dens filer (LFS, vedhæftede filer, pakker, avatarer) ligger som gamle versioner i objektlageret i 7 dage mere og er væk omkring +102 dage, inden for de 30 dage, DPA §9 tillader. Personoplysninger nulstilles. Kunden hos Mollie fjernes. Der udstedes et destruktionscertifikat. Samme nat pseudonymiseres personoplysningerne i tenantens revisionshændelser (aktør og indhold slettes; hashkæden kan stadig verificeres). Hvis en spærring holder sletningen tilbage (en eksport eller betaling i gang, legal hold), eller den fejler, prøves den igen hver nat, og pseudonymiseringen følger den nat, sletningen er gennemført.
+150 dage (indtil 2026-11-03)Indtil 2026-11-03: backups, der indeholder tenanten, slettes senest +150 dage (DPA 1.39 §9).
op til +210 dage (fra 2026-11-03)Fra 2026-11-03 (DPA 1.41 §9): backups redigeres ikke pr. tenant, så slettede data bliver i de krypterede backups, indtil de udløber, op til 90 dage efter sletningen og senest +210 dage efter opsigelsen.

Resterende undtagelser

Nogle kategorier af data har lovpligtig opbevaring, der rækker ud over den primære sletning ved +90 dage. De er beskrevet i DPA §9 og fremgår af destruktionscertifikatet:

  • Regnskabsmateriale (fakturaer, bilag): opbevares i 5 år efter bogføringslovens §10.
  • Metadata i revisionsloggen: opbevares i 3 år, pseudonymiseret ved sletningen (+90 dage, eller den nat en forsinket sletning gennemføres); intet indhold fra repositories, ingen personoplysninger.
  • WORM-låste compliance-objekter (ankre i revisionskæden, selve PDF’en med destruktionscertifikatet): opbevares, indtil låseperioden udløber. Dokumenteret undtagelse i DPA-bilaget §9.

Legal hold

Operatører kan sætte legal_hold = true på en tenant efter et påbud om bevaring (stævning, GDPR-undersøgelse, tvist). Så længe flaget er sat, springer jobbet cancellation-effect helt over tenanten: ingen fysisk sletning, ingen nulstilling af personoplysninger, ingen sletning af backups. Kun operatører kan sætte flaget; kunder kan ikke ændre det.

Legal hold sætter også sletning på pause for alle klasser under opbevaring af dokumentation, mens organisationen er aktiv: fjernelse af indhold i revisionshændelser, opbevaring af adgangsloggen, løste fund, SBOM’er, attesteringer, eksportregistreringer og rydning af fund fra lukkede pull requests (siden 2026-10-08; før da tjekkede fjernelse af indhold i revisionshændelser og oprydning i SBOM’er ikke for legal hold).

Ofte stillede spørgsmål

Min bruger står som brugt, selv om medlemmet er gået. Forgejos medlemsliste filtrerer brugere med prohibit_login=true fra, så en deaktiveret bruger, hvis sidste organisation det var, tæller ikke med i dit seats_in_use. Hvis tallet ser forældet ud, genberegner det natlige job seat-cap-drift-check det.

Får jeg penge tilbage, hvis jeg sænker grænsen for brugere? Nej. Nedsættelser træder i kraft ved næste betalingscyklus (månedlig) eller ved den årlige fornyelse (årlig). Årlig forudbetaling refunderes ikke, jf. vilkårenes §4.7. Se Fakturering for formularen til grænsen for brugere.

Kan jeg få mine data efter de 90 dage? Nej. Når du læser dette, er de allerede væk (Forgejo-organisation, repos, LFS, medlemmer, personoplysninger). Kopier i de krypterede backups er væk senest +150 dage indtil 2026-11-03; fra 2026-11-03 (DPA 1.41) udløber de med snapshots, senest +210 dage. Planlæg eksporten i den skrivebeskyttede periode; siden Fakturering viser en opfordring til eksport netop af den grund.

Sker sletning efter GDPR artikel 17 ved opsigelsen eller ved +90 dage? Ved +90 dage slettes det primære lager. Backups følger efter: indtil 2026-11-03 slettes de senest +150 dage efter opsigelsen; fra 2026-11-03 (DPA 1.41 §9) udløber slettede data med de krypterede snapshots, op til 90 dage efter sletningen og senest +210 dage. Destruktionscertifikatet er det dokument, du kan vise din tilsynsmyndighed.

Hvad hvis jeg opsiger ved en fejl? Klik på fortryd-knappen på siden Fakturering; den virker i hele fristen (indtil cancel_effective_at). Derefter har du 90 dage mere i den skrivebeskyttede periode til at genaktivere via den almindelige checkout. Efter +90 dage er der ingen gendannelse.