Organisatiebeheer
Het organisatiebeheer van fremforge staat op frem.sh/<your-org>/_admin. Een zijbalk met 5 groepen bevat de beheerpagina’s; de bovenbalk heeft een Cmd-K-palet (⌘K / Ctrl-K) dat elke pagina doorzoekt op label en trefwoord. Geen weggestopte submenu’s, geen onverwachte modale vensters.
Organisatie: Overzicht, Repositories, Leden, SSO, Facturatie, Openbare documentatie, Gegevensexport, Instellingen. Beveiliging: Overzicht, Bevindingen, Componenten, Prioriteren, Herstellen, Rapporten, Beleid, Toegang. Zie Beveiliging hieronder. Bouwen en uitrollen: Omgevingen, Deployments, Secrets, Updates van afhankelijkheden (dezelfde pagina als Beveiliging › Herstellen), Proxy voor afhankelijkheden, frembench. Integratie: AI-integraties, Programmatische toegang, Webhooks, SIEM-doorsturen. Rapporten: DORA, Auditlog (cryptografische integriteit in Auditketen), Toegangslog van het register, Legal hold, Bewaring van bewijs, Juridische kennisgevingen.
Staat de pagina die je zoekt op een tenant die momenteel opgeschort is of zich in de periode van 90 dagen na opzegging bevindt, dan is het beheer overal alleen-lezen, behalve Facturatie en Gegevensexport. De banner bovenaan elke pagina maakt dat duidelijk.
De tabbladen zijn op elke beheerpagina hetzelfde; je kunt tussen tabbladen wisselen zonder je plek kwijt te raken.
Wie bij het beheer kan
Iedereen met de rol Eigenaar in de Forgejo-organisatie. De rol wordt ingesteld op de Forgejo-pagina <org>/-/teams/owners; de controle gebeurt bij elk beheerverzoek aan de serverkant, dus wie de eigenaarsrol verliest, verliest direct zijn beheersessie.
Leden en externe medewerkers kunnen niet bij /admin. De route geeft 403 terug met de melding “not an org owner”.
Tabbladen
Facturatie
frem.sh/<org>/_admin/billing behandelt alles wat met geld te maken heeft.
- Huidig aantal gebruikers + schatting van de maandfactuur
- Status van de betaalmethode (met een link “Betaling instellen” als er nog geen mandaat is, of een link “Betaalmethode vervangen” als het bestaande mandaat niet meer werkt)
- Factuurgeschiedenis met downloadbare ontvangstbewijzen
- Opzeggen van het abonnement (je bevestigt door de slug van de organisatie te typen)
Opzeggen zet de status op cancellation_scheduled, met een periode van 30 dagen voordat de opzegging ingaat. Binnen die periode kan de klant de opzegging terugdraaien in de beheer-UI of via de link in de e-mail die bij het opzeggen is verstuurd. Daarna gaat de organisatie naar cancelled (nog 60 dagen alleen-lezen bewaard) en vervolgens naar deleted (gewist volgens DPA §9).
SSO
frem.sh/<org>/_admin/sso: identiteitsfederatie met je IdP.
- Geverifieerde domeinen: bewijs via een DNS-TXT-record of een
.well-known-HTTP-bestand dat je een e-maildomein beheert. Vereist voordat een auth-bron die het domein gebruikt, wordt geactiveerd. - Auth-bronnen: registreer OIDC-providers.
Na verificatie en registratie melden je gebruikers zich aan bij hun IdP via frem.sh/<org>/login. PAT’s en SSH-sleutels blijven op zichzelf geldig; staat Require SSO aan, dan controleert fremforge bij Git-bewerkingen elke 15 minuten opnieuw de IdP-sessie, zodat een gebruiker die in de IdP is gedeactiveerd binnen die tijd zijn Git-toegang verliest, ook als zijn sleutel nog op het account staat. Zie OIDC-SSO voor het volledige handhavingsmodel.
Zie migratie → GitHub → Stap 7: verifiëren en uitfaseren voor het controleren van de SSO-aanmelding als onderdeel van een volledige migratie, of volg de stappen voor het instellen van een auth-bron direct in het hierboven beschreven tabblad SSO.
Beveiliging
frem.sh/<org>/_admin/security/overview. De groep Beveiliging in de zijbalk heeft acht onderdelen, in de volgorde waarin je een bevinding afhandelt: opsporen, prioriteren, herstellen, rapporteren, plus het beleid dat bepaalt wat is toegestaan en wie erin komt.
| Onderdeel | Tabbladen |
|---|---|
| Overzicht | Open bevindingen per scanner en de checklist voor de inrichting |
| Bevindingen | SAST, Afhankelijkheden, Licenties, Containerimages, Secret-scanning, Malware, Uitzonderingen |
| Componenten | Inventaris, Kwetsbaar in gebruik, Opgehaalde versies, Deployments, AI-inventaris, Omgevingsregels, SBOM’s, Build-attestaties |
| Prioriteren | Hersteltermijn (SLA), Pull request-controles |
| Herstellen | Updates van afhankelijkheden (Beveiligingsfixes en Versie-updates), AI-fix, Workflow-pinning |
| Rapporten | Compliancerapport, Controlebewijs, Leveranciersattestatie, Herstelstatistieken, Meldingen |
| Beleid | Push-bescherming, Scanners, Pakketbeleid, Licentiebeleid, Imagebeleid, Repositoryregels, Modelscan, Onveranderlijke releases. Zie Beveiligingsbeleid |
| Toegang | Authenticatiebeleid, IP-toegestane lijst, Supporttoegang, AI-koppelingen, E-maildomeinen, Registry-robots, Pakkettoegang |
Elk ouder adres van deze pagina’s, zoals _admin/security/policies/edge, _admin/code-security/…, _admin/compliance-evidence of _admin/attestations, verwijst door naar het nieuwe tabblad. “Edge policies” bestaat niet meer: de instellingen ervan staan onder Prioriteren (Hersteltermijn (SLA), Pull request-controles), Toegang (IP-toegestane lijst, Supporttoegang, AI-koppelingen en de informatie over tweefactorauthenticatie op Authenticatiebeleid) en Rapporten › Meldingen (het beveiligingsoverzicht).
Push-bescherming
frem.sh/<org>/_admin/security/policies/push-protection. Secret-scanning bij elke push staat altijd aan. Dit tabblad bevat de lijst met uitzonderingen en het gedrag bij een fout van de scanner.
- Recente weigeringen: elke push die is geblokkeerd omdat gitleaks een secretpatroon met hoge betrouwbaarheid vond. Klik op “Goedkeuren” om er een eenmalige of op een patroon gerichte uitzondering van te maken.
- Actieve uitzonderingen: je lijst met toegestane gevallen. Elke uitzondering heeft een reden (vastgelegd in het auditlog) en kan optioneel worden beperkt tot een regel, padpatroon, commit of repository. Je kunt elke uitzondering op elk moment intrekken.
Is een bevinding een echte secret, roteer hem dan eerst bij de dienst die hem heeft uitgegeven, verwijder hem daarna met git filter-repo uit de geschiedenis en push dan. Is het een vals positief (testfixture, bewust openbare credential), voeg dan een uitzondering toe die tot een pad is beperkt. Zie Push-bescherming.
Bevindingen
frem.sh/<org>/_admin/security/findings/sast. Eén tabblad per scanner: SAST, Afhankelijkheden, Licenties, Containerimages, Secret-scanning, Malware (de malwarescan van uploads), plus Uitzonderingen. Elk tabblad toont eerst zijn bevindingen, met één regel die zegt of de scanner aanstaat en bij welke ernst zijn pull request-controle faalt. De instellingen zelf staan onder Beveiliging › Beleid › Scanners. De regels waaraan een bevinding wordt getoetst, zoals de licentielijsten en de poort voor het ophalen van images, staan onder Beveiliging › Beleid (zie Beveiligingsbeleid).
Updates van afhankelijkheden
frem.sh/<org>/_admin/dependency-updates, onder Beveiliging › Herstellen (Bouwen en uitrollen houdt een link naar dezelfde pagina). Eén pagina met twee sporen: Beveiligingsfixes, één pull request per kwetsbaar pakket op basis van je bevindingen, en Versie-updates door gehost Renovate. De pagina toont ook de repository’s die meedoen en de recente activiteit.
- Inschakelen: maakt een botgebruiker per tenant aan en start een nachtelijke run voor de repository’s van de organisatie.
- Recente runs: de laatste 10 Renovate-runs met het aantal PR’s en eventuele fouten.
- Nu uitvoeren: een extra run buiten het schema (maximaal 1 per uur).
- Uitschakelen: trekt het token van de bot direct in en verwijdert de bot uit de organisatie. PR’s die de bot al heeft geopend, blijven open.
De configuratie per repository gaat via renovate.json in de root van de repository. Zie Updates van afhankelijkheden voor beide sporen, Versie-updates voor de naslag over Renovate en Beveiligingsfixes voor fix-pull requests op basis van bevindingen.
Secrets
frem.sh/<org>/_admin/secrets: Actions-secrets op organisatieniveau, die als omgevingsvariabelen in elke CI-job van de organisatie worden geïnjecteerd. Forgejo is de opslaglaag (versleuteld in rust); het fremforge-beheer stuurt de CRUD-bewerkingen door en legt auditgebeurtenissen vast met de naam van de secret, de actor en het tijdstip (de waarde wordt nooit opgeslagen in de database of het auditlog van fremforge).
- Nieuwe secret / secret overschrijven: naam (UPPER_SNAKE_CASE; mag niet beginnen met
FORGEJO_ofGITHUB_) en waarde. Een bestaande naam opnieuw invoeren overschrijft hem; hetzelfde formulier is de manier om te roteren. - Actieve secrets: lijst van namen + tijdstip van aanmaken. Waarden zijn alleen schrijfbaar; fremforge leest of toont een waarde na het aanmaken nooit meer.
- Verwijderen: bevestigen via een JS-
confirm()-prompt. Workflows die naar de secret verwijzen, falen tot hij opnieuw is aangemaakt.
Secrets van de organisatie worden door elke repository in de organisatie overgenomen. Voor een bereik per repository stel je de secret in onder Repository → Instellingen → Actions → Geheimen in de eigen UI van Forgejo. Voor een bereik per omgeving stel je hem in onder Organisatiebeheer → Omgevingen → <env> → Omgevings-secrets (frem.sh/<org>/_admin/environments). Het meest specifieke bereik wint; een omgevingssecret met dezelfde naam als een organisatiesecret overschaduwt de organisatiesecret voor jobs in die omgeving.
Zie Secrets voor de volledige naslag, inclusief het API-pad en de rotatieprocedure.
Standaardinstellingen voor repository’s
frem.sh/<org>/_admin/repo-defaults verwijst door naar Beveiliging › Beleid › Repositoryregels (_admin/security/policies/repository-rules#org-baseline): de standaardinstellingen voor branchbescherming van de repository’s van de organisatie, zoals vereiste goedkeuringen, review door CODEOWNERS en ondertekende commits. Zie Branchbescherming.
Webhooks
frem.sh/<org>/_admin/webhooks: afleveringsgeschiedenis en opnieuw afleveren van webhooks voor gebeurtenissen in de hele organisatie. Het aanmaken van webhooks (op welke gebeurtenissen je je abonneert, doel-URL, ondertekeningssecret) configureer je in de eigen UI van Forgejo op /<org>/-/settings/hooks (organisatieniveau) of /<org>/<repo>/settings/hooks (repositoryniveau). fremforge beheert het dashboard met de afleveringsgeschiedenis onder beheer → Webhooks; Forgejo beheert de registratie.
- Recente afleveringen: bekijk afzonderlijke afleverpogingen, responscodes en payloads.
- Redeliver: verstuur elke gebeurtenis uit de geschiedenis opnieuw. Handig om na een fix bugs aan de ontvangende kant te debuggen.
Webhooks van de organisatie gaan af met dezelfde gebeurtenisvorm als webhooks per repository. Zie webhooks voor de volledige naslag van gebeurtenistypen en het payloadschema.
Omgevingen
frem.sh/<org>/_admin/environments: deploymentomgevingen in GitHub-stijl voor CI/CD-jobs. Elke omgeving heeft een naam (waarnaar workflow-YAML verwijst als jobs.<id>.environment: <name>), beschermingspatronen voor branches en tags, eigen secrets en eigen variabelen.
- Deploymentbranches en -tags: glob-patronen (
main,release/*,v[0-9]*) die bepalen welke refs naar deze omgeving mogen uitrollen. Refs die niet passen, worden geweigerd voordat de runner de workflow zelfs maar ophaalt. - Omgevingssecrets: versleutelde secrets die worden geïnjecteerd in jobs die draaien met
environment: <name>. Ze overschaduwen secrets op organisatieniveau met dezelfde sleutel. Handig voor credentials die alleen voor productie zijn. - Omgevingsvariabelen: niet-geheime omgevingsvariabelen (regio, deployment-URL enz.) die aan de omgeving zijn gekoppeld.
- OIDC-federatie: elke workflowrun krijgt een OIDC-token waarvan de
sub-claim de naam van de omgeving bevat (repo:owner/repo:environment:prod). Vertrouw die in de IdP van je cloud om kortlevende deploymentcredentials toe te kennen zonder langlevende secrets.
Zie deploy-secrets voor de volledige uitleg over OIDC-federatie, inclusief trustbeleid voor AWS, Azure, GCP en T Cloud Public.
Bewaartermijn van build-artefacten
frem.sh/<org>/_admin/artifact-retention: de bewaarinstelling van de organisatie voor Forgejo Actions-artefacten (build-uitvoer, testrapporten, debugbundels), in dagen van 1 tot 90. De standaard is 30 dagen voor nieuwe organisaties, en organisaties die de waarde nooit hebben gewijzigd, zijn op 2026-10-21 van 90 naar 30 gegaan. Een waarde die je zelf hebt ingesteld, blijft behouden.
Wat vandaag echt een artefact verwijdert. Forgejo laat een artefact verlopen na de retention-days die bij het uploaden is opgegeven, of na het platformmaximum van 90 dagen ([actions].ARTIFACT_RETENTION_DAYS van de Forgejo-instantie), afhankelijk van wat korter is. De organisatie-instelling hierboven verwijdert nog niets: de nachtelijke job die een kortere waarde moet toepassen, heeft een artefact-API nodig die deze Forgejo-versie niet heeft. Wil je artefacten korter dan 90 dagen bewaren, zet dan retention-days bij de upload:
- uses: actions/upload-artifact@v3
with:
name: test-report
path: report/
retention-days: 7Verlopen artefacten tellen niet meer mee voor het artefactquotum van de organisatie.
SIEM-doorsturen
frem.sh/<org>/_admin/siem: stuur het auditlog van de tenant vrijwel realtime door naar je SIEM. Ondersteunt Splunk HEC, Sentinel HTTP Data Collector, Elastic Cloud en een generieke webhook met HMAC-SHA256-ondertekening. Splunk en Sentinel vereisen een dunne proxy die de HMAC vertaalt (zie SIEM-doorsturen); Elastic Filebeat en de generieke webhook werken direct. Elk endpoint kun je met een synthetische gebeurtenis testen voordat het live gaat; endpoints die falen, krijgen een back-off en de fouten worden zichtbaar in het operatorportaal.
Leveranciersattestatie en controlebewijs
Beide staan onder Beveiliging › Rapporten: Leveranciersattestatie (_admin/security/reports/vendor-attestation) is een document over fremforge als jouw leverancier, en Controlebewijs (_admin/security/reports/control-evidence) koppelt de auditgebeurtenissen van je organisatie aan controls uit SOC 2 en ISO 27001. SLSA-buildprovenance staat onder Beveiliging › Componenten › Build-attestaties; zie SLSA-provenance.
Levenscyclus van organisaties en repository’s
Een paar bewerkingen vallen buiten de tabbladen, omdat ze eenmalig zijn in plaats van doorlopende configuratie. Ze staan op hun natuurlijke plek (de instellingenpagina van de repository, of de pagina om de organisatie te hernoemen), maar we noemen ze hier zodat ze niet onzichtbaar blijven.
Een organisatie hernoemen
frem.sh/<org>/_admin/settings: wijzig de slug van de organisatie. Bestaande repository-URL’s, clone-URL’s, API-aanroepen en verwijzingen in webhookpayloads die de oude slug gebruiken, blijven na het hernoemen 90 dagen doorverwijzen. Na 90 dagen kan de oude slug weer door anderen worden geregistreerd; plan de overstap dus, werk integraties bij binnen de doorverwijsperiode en wacht er niet mee.
Hernoemen is een actie voor eigenaren van de organisatie, wordt vastgelegd in het auditlog en bevestigd door de oude slug te typen.
Een repository naar een andere organisatie overdragen
frem.sh/<org>/<repo>/settings → Transfer ownership. Een repository kan worden overgedragen aan een andere organisatie waarvan je eigenaar bent (of aan het account van een andere gebruiker; die moet accepteren). Bij de overdracht:
- Gaan alle branches, tags, geschiedenis, issues, PR’s, releases, pakketten, webhooks en CI-workflowruns mee met de repository.
- Blijven forks van de repository op fremforge waar ze waren; ze werken hun upstream-verwijzing automatisch bij naar de nieuwe locatie.
- Verwijzen openstaande URL’s voor
git clone,git fetchen de HTTP-API naar het oude pad<org>/<repo>90 dagen door, dezelfde periode als bij het hernoemen van een organisatie. Werk remotes bij wanneer het uitkomt; de doorverwijzing is operationele speelruimte, geen permanente garantie.
De overdracht is onderworpen aan het beleid van de doelorganisatie: dwingt die SSO, ondertekende commits enz. af, dan krijgt de overgedragen repository dat beleid bij aankomst; bestaande regels voor branchbescherming op de repository blijven behouden, tenzij de standaardinstellingen van de doelorganisatie strenger zijn.
Een abonnement opzeggen
Actie voor eigenaren, bevestigd door de slug van de organisatie te typen. Zie het tabblad Facturatie hierboven voor het opzeggen en de pagina Facturatie voor de statussen in de levenscyclus (opzegging gepland → opgezegd → verwijderd).
Een persoonlijk account verwijderen
Valt buiten het organisatiebeheer. Een persoonlijk account verwijderen (het AVG-recht op vergetelheid) doe je onder Gebruikersinstellingen → Account. Zie Je fremforge-account voor het volledige proces, inclusief wat bewaard blijft als historische toeschrijving.
Branchbescherming: begrippen
Branchbescherming volgt een hiërarchie van drie niveaus: de ondergrens van het platform (ingesteld door fremforge, niet configureerbaar) → de standaard van de organisatie (ingesteld door de eigenaar van de organisatie, geldt voor alle repository’s) → regels per repository (kunnen de standaard van de organisatie aanscherpen, maar niet onder de ondergrens van de organisatie versoepelen).
Standaardbescherming van de organisatie: Beveiliging › Beleid › Repositoryregels, standaardinstellingen voor branchbescherming. Stel regels in die gelden voor alle nieuw aangemaakte repository’s en voor alle bestaande repository’s waar geen strengere regel op repositoryniveau bestaat.
Bescherming per repository: Repository → Instellingen → Branches → Voeg nieuwe regel toe. Voer een patroon voor de branchnaam in (bijv. main, release/*). Beschikbare beschermingen:
| Regel | Wat het afdwingt |
|---|---|
| Require status checks | Benoemde CI-controles moeten slagen voor de merge. Voeg namen van controles uit je workflowjobs toe (bijv. test, build). |
| Require pull request reviews | Een of meer goedkeuringen vereist voor de merge. Stel het minimale aantal reviewers in. |
| Dismiss stale reviews | Een goedkeuring vervalt zodra er nieuwe commits worden gepusht. Reviewers moeten opnieuw goedkeuren. |
| Blokkeer de samenvoeging van officiële beoordelingsverzoeken | Een pull request kan niet worden gemerged zolang een reviewverzoek aan een officiële reviewer openstaat. Met een CODEOWNERS-bestand vraagt Forgejo de eigenaren van de gewijzigde bestanden om een review, dus moeten zij reviewen. De organisatie-instelling Require review from code owners zet dit aan. |
| Restrict who can push | Alleen de genoemde gebruikers of teams kunnen rechtstreeks naar de branch pushen (zonder PR). Laat leeg om voor alle gebruikers PR’s te vereisen, eigenaren van de organisatie inbegrepen. |
| Block force push | Voorkomt het herschrijven van de geschiedenis op de beschermde branch. Aanbevolen voor main. |
| Ondertekende commits vereisen | Alle commits moeten een geverifieerde handtekening hebben. Werkt met ondertekening via een SSH-sleutel (standaard) of GPG. Zie Beveiliging en toeleveringsketen. |
Ondergrens van het platform: het platform dwingt af dat ondertekende commits op platformniveau zijn toegestaan (niet verplicht); secret-scanning draait ongeacht de instellingen voor branchbescherming; het auditlog legt alle force-pushes vast, ook als force-push niet is geblokkeerd.
Overerving van beleid: vereist de standaard van de organisatie 1 PR-review en een repositoryregel 2, dan wint de strengere regel (2). Repositoryregels kunnen alleen aanscherpen, niet versoepelen.
Gegevensexport
frem.sh/<org>/_admin/data-export: volledige export in selfservice.
- Nieuwe export starten: stelt één ondertekend
.tar.gzsamen met eengit bundleper repository, de issues, pull requests, opmerkingen, labels, mijlpalen en releases van elke repository, de pakketinventaris en een auditfragment van 90 dagen. Zie Gegevensexport voor precies wat erin zit. - Recente taken: de laatste 20 exporttaken met downloadlinks (7 dagen geldig nadat de export klaar is) en status.
Beperkt tot één export per organisatie per 24 uur. Voor bundels groter dan 50 GB geldt een andere procedure. Neem contact op met support.
Zie Gegevensexport voor de opbouw van de bundel, verificatierecepten en de API-endpoints.
Instellingen
frem.sh/<org>/_admin/settings: de kerngegevens van de organisatie: zichtbaarheid (public / limited / private), weergavenaam, beschrijving, website, locatie. Wijzigingen hier worden via PATCH /api/v1/orgs/{org} naar Forgejo doorgestuurd en leveren een auditgebeurtenis tenant.org.settings.updated op.
Instellingen die elders staan:
- Naam van de organisatie (slug): het hernoemen van de slug is een Forgejo-actie met een doorverwijsperiode van 90 dagen; beheer het in de eigen UI van Forgejo onder
/<org>/-/settings. - Avatar / profielafbeelding: eigen UI van Forgejo onder
/<org>/-/settings. - Facturatie, SSO, beveiligingsbeleid, push-bescherming: zie de aparte tabbladen hierboven.
De grens: het fremforge-beheer gaat over naam van de organisatie (weergave), zichtbaarheid, website, beschrijving, locatie, naast de aparte tabbladen voor abonnement, beleid, beveiliging en audit. De eigen UI van Forgejo op /<org>/-/settings gaat over avatar / profielafbeelding, het hernoemen van de slug, interne standaarden van Forgejo voor het aanmaken van repository’s en diepere configuratie die alleen in Forgejo bestaat. Beide zijn bereikbaar vanaf eigenaarsaccounts; kies het oppervlak dat bij je wijziging past.
Auditlog
frem.sh/<org>/_admin/audit-log: elke beheeractie die de toestand van je organisatie wijzigt, realtime te doorbladeren.
- Filter op actor: beperk tot een specifieke Forgejo-gebruiker, tot operatoracties (met voorvoegsel
operator:<email>) of tot een agent. Het filter matcht de actor, de persoon namens wie een agent handelde en de agent zelf, zodat het filter voor een gebruiker ook laat zien wat agents namens die gebruiker deden. - Label via agent: een actie die een agent namens een persoon uitvoerde, noemt de persoon als actor en is gemarkeerd met via agent; de id van de agent staat in het veld
agentvan de gebeurtenis. - Filter op actie: beperk tot een namespace (bijv.
push-protectionofbilling.cancel). - Filter op datum: begrensd op datum.
- Operatorbadge: acties die medewerkers van fremverk namens je organisatie uitvoeren, worden oranje gemarkeerd en zijn nooit stil. Dezelfde gegevens komen in het auditfragment van je exportbundel.
Op het scherm worden oudere gebeurtenissen na 200 rijen afgekapt. Gebruik voor een volledige historische export Gegevensexport. Het auditfragment in de bundel is onbegrensd.
Bewaring. Volgens DPA-bijlage A.7 staan beveiligingsrelevante gebeurtenissen (authenticatie, autorisatie, beheeracties) in een doorzoekbare hot tier met een bewaartermijn per tenant die je instelt onder Beveiliging → Authenticatiebeleid → Bewaartermijn auditlog: de keuzes zijn 90 / 180 / 365 / 730 dagen, standaard 90 (standaardabonnement) of 365 (enterprise-abonnementen). Operationele logs (HTTP, runner, infrastructuur) blijven 30 dagen in de hot tier (niet configureerbaar). Beide tiers worden weggeschreven naar een onveranderlijk WORM-archief op T Cloud Public OBS voor 3 jaar, met elke 2 minuten een verankering in een hashketen als bewijs tegen manipulatie. Na de grens van de hot tier wordt de payload (actor, fields_json) geredigeerd, maar de SHA-256-hashes van de keten blijven de volledige 3 jaar bewaard. De weergave op het scherm en het auditfragment van de exportbundel beslaan allebei de ingestelde periode van de hot tier. Neem contact op met support@frem.sh om oudere gebeurtenissen uit het WORM-archief op te halen.
Gelijkwaardige API
Elke beheeractie is ook een gedocumenteerd REST-endpoint. De beheer-UI is zelf een client van dezelfde API die een AI-agent zou gebruiken. Zie de openbare REST-API voor de OpenAPI-specificatie.
Twee namespaces, één host. Routes onder /api/v1/... zijn Forgejo-eigen (dezelfde vorm als de upstream Forgejo-API, zonder fremforge-voorvoegsel; gebruikt voor CRUD op organisaties, repository’s, gebruikers, issues en PR’s die Forgejo al afdekt). Routes onder /_app/api/v1/... zijn fremforge-uitbreidingen (de toevoegingen aan het control plane die wij erbovenop bouwen: facturatie, push-bescherming, gegevensexport, gehost Renovate, SSO-beleid, attestaties). De aanroep PATCH /api/v1/orgs/{org} uit §Instellingen hierboven is de Forgejo-eigen vorm; dezelfde netwerkhost bedient via de routering van het platform beide voorvoegsels. Kies het voorvoegsel dat bij het gedocumenteerde endpoint hoort en meng ze niet.
Alles wat je in de beheer-UI doet, kun je dus ook programmatisch doen:
POST /_app/api/v1/orgs/<org>/dependency-updates/enrol: hetzelfde als klikken op “Gehost Renovate inschakelen” (fremforge-uitbreiding)POST /_app/api/v1/orgs/<org>/exports: hetzelfde als klikken op “Nieuwe export starten” (fremforge-uitbreiding)GET /_app/api/v1/orgs/<org>/push-protection/overrides: actieve uitzonderingen op de push-bescherming opvragen (fremforge-uitbreiding)PATCH /api/v1/orgs/<org>: weergavenaam / website / locatie / zichtbaarheid bijwerken (Forgejo-eigen)- …enz.
Tokenauthenticatie: een PAT uitgegeven vanuit je gebruikersinstellingen in Forgejo. OAuth 2.0-client-credentials staan gepland, samen met de flow voor agentidentiteit.
Audittrail
Elke beheeractie schrijft een gestructureerde logregel naar de auditstroom van fremforge met de velden actor, action, tenant_id plus velden die bij de actie horen. Het auditlog zit, beperkt tot je organisatie, in de bundel van de gegevensexport.
Wat je in je auditfragment ziet:
- Alle POST- en DELETE-acties in de beheer-UI (alles wat de toestand wijzigt)
- Alle API-aanroepen die zijn geauthenticeerd als lid van je organisatie
- Alle operatoracties die medewerkers van fremverk namens je organisatie uitvoeren (gemarkeerd met
actor=operator:<email>, nooit stil)
Wat je niet ziet (om redenen van privacy en juridische procedures):
- Interne infrastructuurgebeurtenissen van fremverk (die gaan naar een aparte auditstroom)
- Correlatie-id’s over tenants heen (geredigeerd vóór de export)
Kruisverwijzingen
- Prijzen: wat er in het abonnement van € 30 per gebruiker zit
- Trust: subverwerkers, certificeringen, soevereiniteit
- Openbare REST-API: programmatische tegenhangers van elke beheeractie
- Migratiehandleidingen: stap voor stap overstappen vanaf GitHub / GitLab / Azure DevOps