Hoppa till huvudinnehållet

Ditt fremforge-konto

Ett konto i fremforge är din personliga identitet på plattformen. En organisation är en fakturerbar kund, en arbetsyta där repon, medlemmar, hemligheter, CI-körningar och policyer finns. De två är avsiktligt skilda begrepp. Den här sidan beskriver vad som finns var, hur de samverkar och hur du tar bort det ena eller det andra.

Ett konto, många organisationer

Du registrerar dig en gång. Du får ett personligt konto på frem.sh/<your-username> med din e-postadress, dina SSH-nycklar, dina personliga åtkomsttoken, din tvåfaktorsautentisering och ditt lokala lösenord (om du har satt ett). Överallt där du autentiserar dig mot fremforge, i gränssnittet, i Git och i API:t, gör du det som det kontot.

Medlemskap i en organisation är en separat relation. Ditt enda konto kan vara medlem i ingen, en eller många organisationer. Varje organisation betalar för dig som en egen användare. Du ser de organisationer du tillhör i gränssnittets organisationsväljare.

Två följder som är värda att ha klart för sig:

  • Att du tas bort från en organisation tar inte bort ditt konto. Organisationens administratörer kan när som helst ta bort dig från organisationen. Det återkallar din åtkomst till deras repon och minskar deras antal fakturerade användare med en, men ditt personliga konto finns kvar och du kan gå med i andra organisationer.
  • Att du tar bort ditt konto tar inte bort de organisationer du tillhör. Om du är ensam ägare till en organisation kräver plattformen att du antingen utser en annan ägare eller avslutar organisationen helt innan din begäran om att ta bort kontot kan slutföras.

Gå med i en andra organisation

Du kan vara grundande administratör för mer än en fremforge-organisation utan att skapa flera konton. Två fall:

  • Samma e-postadress, ny registrering. Om du registrerar en ny organisation på frem.sh/_app/signup med en e-postadress som redan har ett fremforge-konto upptäcker registreringsflödet den befintliga användaren, återanvänder den och lägger till dig som ägare till den nya organisationen. Du får inget andra lösenord: dina befintliga inloggningsuppgifter fungerar för båda organisationerna, och knappen i välkomstmejlet lyder “Öppna <slug> →” (logga in med ditt befintliga lösenord) i stället för den engångslänk “Logga in på fremforge →” som en helt ny administratör får. (Inget välkomstmejl från fremforge innehåller någonsin ett lösenord.)
  • Inbjuden till en befintlig organisation. Om en annan administratör bjuder in din e-postadress accepterar du inbjudan från frem.sh/user/notifications och läggs till som medlem i deras organisation. Inget andra konto, inget andra lösenord.

Varje organisation har sin egen faktureringsrelation med fremverk, sitt eget antal användare, sitt eget Mollie-mandat, sina egna fakturor och sin egen administrationsyta på frem.sh/<slug>/_admin/billing. Det finns ingen samlad faktura för flera organisationer.

Växla mellan organisationer

Det finns ingen organisationsväljare i produkten på frem.sh/_app; administrationsytan per organisation styrs av slugen i URL-sökvägen (/<slug>/_admin/...). Den naturliga väljaren finns på Forgejo-sidan på frem.sh:

  1. Logga in på frem.sh/user/login (eller klicka på “Sign in” någonstans på marknadsföringswebbplatsen, som skickar dig via frem.sh/_app/login för att hitta rätt e-postdomän; se Så fungerar inloggningen).
  2. Din översikt visar alla organisationer du tillhör. Klicka in i en av dem för att börja arbeta med repon, issues, CI och inställningar.
  3. För att öppna fremforges administration (fakturering, SSO, medlemmar) för en viss organisation går du till frem.sh/<slug>/_admin/billing. Det vanligaste är att bokmärka administrationens URL för varje organisation du administrerar.

Sessionsbindning per organisation är påslagen som standard för alla organisationer. Första gången du öppnar en organisations administrationsyta skickar fremforge dig genom en inloggningsrunda för den organisationen och sparar en post om det per organisation i upp till 8 timmar. Vad rundan bevisar beror på nivån nedan. Med mjuk bindning bevisar den att din webbläsare har en giltig inloggning, inte att du just har loggat in igen. Bara hård bindning tvingar dig att autentisera dig på nytt.

Rundan går till Forgejos universella inloggning på frem.sh/user/login, inte till en SSO-URL per organisation. Det är avsiktligt: den universella inloggningen tar emot både de SSO-knappar som är kopplade och lokalt lösenord + tvåfaktorsautentisering, vilket bevarar vägen för SSO-nödåtkomst. Om din IdP inte går att nå kan en ägare till organisationen med lokala inloggningsuppgifter och tvåfaktorsautentisering fortfarande autentisera sig, klara spärren för bindning per organisation och nå organisationens administration. Att studsa via en SSO-URL per organisation skulle skapa en enskild felpunkt (organisationens IdP), och det är just det som nödåtkomsten finns för att undvika.

Två styrkenivåer beroende på hur din IdP är kopplad:

  • Mjuk bindning (standard, nödåtkomst med lokala inloggningsuppgifter bevarad): en post per organisation över vem som använde organisationens administrationsyta och när, och en runda via Forgejo vid första åtkomsten till varje organisation. Om din Forgejo-session är aktuell märks rundan inte och frågar inte efter något: den bevisar att du har en session, inte en ny autentisering. Om sessionen inte är aktuell loggar du in igen. Rundan går till frem.sh/user/login, som tar emot lokalt lösenord + tvåfaktorsautentisering, så ett avbrott hos IdP:n låser inte ute organisationens ägare.
  • Hård bindning (reglerade verksamheter): tvingad ny bekräftelse hos IdP:n per organisation via OIDC prompt=login. Rundan blir en verklig autentisering, bekräftad av IdP:n och avgränsad till den organisationen. IdP:n MÅSTE fråga efter inloggningsuppgifter och MFA igen, och vår callback kontrollerar att auth_time ligger inom de senaste 5 minuterna. Kopplas in genom att du registrerar en andra OIDC-klient i din IdP bredvid Forgejos (samma utfärdare, separat client_id + client_secret) och klistrar in uppgifterna under organisationens administration → SSO.

Båda nivåerna bevarar vägen för SSO-nödåtkomst: organisationens ägare med lokalt lösenord + tvåfaktorsautentisering kan återhämta sig från vilket avbrott hos IdP:n som helst. Hård bindning tvingar bara fram en ny autentisering hos IdP:n medan organisationens IdP går att nå. Om din IdP inte går att nå fungerar din befintliga rutin för nödåtkomst fortfarande.

SSO i flera organisationer

Varje organisation kopplar sin egen IdP under organisationens administration → SSO. Användare loggar in i en viss organisation via organisationens knapp <auth-source-name> på frem.sh/user/login?redirect_to=/<slug> (eller via flödet frem.sh/_app/login, som skickar dig till rätt organisations inloggningssida utifrån domänen i din e-postadress).

Om du är medlem i två organisationer som använder olika IdP:er autentiserar du dig via den IdP som du kommer in genom; när din Forgejo-session väl är etablerad fungerar navigeringen mellan organisationerna som ovan. Om båda organisationerna använder samma IdP (till exempel två affärsområden i samma Authentik-instans) räcker en autentisering för båda.

Första åtkomsten till en annan organisation studsar dig en gång. Vart studsen går beror på om organisationen har kopplat in hård bindning (en OIDC-klient för förhöjd autentisering):

  • Organisation med hård bindning: studsen går till frem.sh/<slug>/_admin/-/stepup, som startar en OIDC-autentiseringsbegäran med prompt=login mot organisationens klient för förhöjd autentisering. Din IdP frågar efter inloggningsuppgifter och MFA igen, callbacken kontrollerar ID-token och att auth_time är färsk, och du hamnar på den ursprungliga URL:en med en ny sessionspost för organisationen.
  • Organisation med mjuk bindning: studsen går till frem.sh/user/login. Forgejos universella inloggning visar de autentiseringskällor som finns, alltid lokalt lösenord + tvåfaktorsautentisering, plus organisationens SSO-knapp när den är kopplad. Om din befintliga Forgejo-session är färsk följer sidan bara redirect_to utan att fråga igen.

Båda nivåerna lämnar nödåtkomsten med lokala inloggningsuppgifter intakt. En ägare till organisationen med lokalt lösenord + tvåfaktorsautentisering i Forgejos universella inloggning kan återhämta sig från vilket avbrott hos IdP:n som helst; bindningen per organisation ändrar inte det.

Data på kontonivå och organisationsnivå

Det här är skiljelinjen som avgör vem som kontrollerar vad enligt GDPR och var du hittar vilken inställning.

DataFinns påPersonuppgiftsansvarigVar du hanterar det
E-postadress, visningsnamn, lösenordshashKontofremverk ApSAnvändarinställningar → Säkerhet och inloggning
SSH-nycklar, GPG-nycklarKontofremverk ApSAnvändarinställningar → SSH/GPG-nycklar
Personliga åtkomsttokenKontofremverk ApSAnvändarinställningar → Git-åtkomsttoken
Registrering för tvåfaktorsautentisering + återställningskoderKontofremverk ApSAnvändarinställningar → Säkerhet och inloggning
Lokalt lösenord (när SSO också är konfigurerat)Kontofremverk ApSAnvändarinställningar → Säkerhet och inloggning
OIDC-kopplingKonto, avgränsad per organisationOrganisationens ägare + IdPOrganisationens administration → SSO
Repon, issues, PR:er, wikiOrganisationOrganisationen (kunden)Organisationens administration / repoinställningar
Hemligheter, runners och policyer på organisationsnivåOrganisationOrganisationen (kunden)Organisationens administration
GranskningsloggOrganisationOrganisationen (kunden)Granskningslogg
Fakturering, fakturor, betalningsmetodOrganisationOrganisationen (kunden)Organisationens administration → Fakturering

Data på kontonivå regleras av integritetsmeddelandet för produkten, där fremverk ApS är personuppgiftsansvarig. Innehåll på organisationsnivå regleras av personuppgiftsbiträdesavtalet (DPA), där din organisation är personuppgiftsansvarig och fremverk är personuppgiftsbiträde för dess räkning.

Referens för kontoinställningar

frem.sh/user/settings är ytan för personliga inställningar, som Forgejo renderar. De relevanta undersidorna:

  • Profile: namn, e-postadress, avatar, språkval.
  • Security & sign-in: lokalt lösenord, tvåfaktorsautentisering, återställningskoder, borttagning av kontot. Se Tvåfaktorsautentisering.
  • SSH keys och GPG keys: publika nycklar för Git-åtgärder och signering av commits.
  • Git-åtkomsttoken: personliga åtkomsttoken (PAT:er). OAuth-applikationer som du har godkänt listas, och återkallas, på frem.sh/user/settings/applications, som inte har någon post i inställningsmenyn.
  • Notifications: inställningar för aviseringar via e-post och i appen.

Via REST-API

Några åtgärder på kontonivå finns också i det publika REST-API:t. Det är användbart när du skriptar uppstarten av CI, kontrollerar vilka organisationer en token kan agera i eller roterar PAT:er från en automatisering.

  • Läs din profil + dina organisationsmedlemskap GET /_app/api/v1/users/me
  • Utfärda en personlig åtkomsttoken POST /_app/api/v1/auth/tokens
  • Lista dina aktiva token GET /_app/api/v1/auth/tokens
  • Återkalla en token DELETE /_app/api/v1/auth/tokens/:tokenId

Autentisera dig med en personlig åtkomsttoken (PAT) som Authorization: Bearer ${FREMFORGE_PAT}. För att utfärda en ny PAT krävs en aktiv inloggningssession i administrationsgränssnittet, och den utfärdade tokenens scope kan inte vara större än din roll.

curl -H "Authorization: Bearer ${FREMFORGE_PAT}" \
  https://frem.sh/_app/api/v1/users/me

Se referensen för det publika REST-API:t för hela OpenAPI-specifikationen.

Ytorna för det personliga kontot ovan (SSH-nycklar, GPG-nycklar, registrering för tvåfaktorsautentisering, borttagning av kontot) finns avsiktligt inte i det publika REST-API:t: det är åtgärder på personliga inloggningsuppgifter som av säkerhetsskäl kräver en inloggad webbläsarsession.

Ta bort ditt fremforge-konto (rätten till radering enligt GDPR)

Enligt GDPR art. 17 har du rätt att få dina personuppgifter raderade, med begränsade undantag för lagstadgade lagringskrav. fremverk ApS stöder den rättigheten som personuppgiftsansvarig för dina kontodata.

Det du kan ta bort själv

Användarinställningar → Säkerhet och inloggning → Delete account. Borttagning på egen hand:

  1. Tar bort dig från alla organisationer som du för närvarande är medlem i. Varje berörd organisations antal användare minskas vid nästa faktureringsperiod.
  2. Spärrar ditt användarnamn så att det inte kan registreras igen (det förhindrar att någon utger sig för att vara du i historiska commits och poster i granskningsloggen).
  3. Raderar dina personliga kontodata permanent: profil, SSH-nycklar, GPG-nycklar, PAT:er, hemligheten för tvåfaktorsautentisering, hashar av återställningskoder och aviseringsinställningar. Inom 30 dagar, och rensning ur säkerhetskopior inom ytterligare 30 dagar enligt DPA §9.
  4. Bevarar dina historiska bidrag: commit-författarskap, författarskap av issues och PR:er, kommentarer och poster i granskningsloggen som nämner dig. Att ta bort dem skulle förstöra varje organisation som förlitar sig på posterna som bevis på vem som gjorde vad. Ditt användarnamn visas som <deleted-account> i gränssnittet, medan den underliggande referensen till användar-id:t (ett stabilt heltal) håller gransknings- och Git-historiken intakt.

Det som kräver support

Två fall kräver att du går via compliance@frem.sh:

  • Du är ensam ägare till en organisation. Borttagning på egen hand är spärrad. Utse antingen en annan ägare via organisationens administration → Medlemmar och ta sedan bort ditt konto, eller skriv till compliance@frem.sh och begär att organisationen och kontot tas bort tillsammans.
  • Du vill att historiska bidrag aktivt skrivs om. Standard är att bevara författarskapet under ett spärrat användarnamn. Om du har en dokumenterad rättslig grund för en mer långtgående radering (till exempel ett slutgiltigt namnbyte som framgår av domstolshandlingar) mejlar du compliance@frem.sh med grunden. Varje begäran bedöms individuellt mot begränsningarna i GDPR art. 17.3.

Det vi inte tar bort på begäran

Enligt GDPR art. 17.3 kan följande sparas efter att kontot har tagits bort:

  • Fakturerings- och fakturaunderlag för organisationer som du har varit kopplad till, som sparas i 5 år enligt dansk bokföringslag (Bogføringsloven).
  • Poster i granskningsloggen om säkerhet och missbruk där lagringen är nödvändig för att fastställa, göra gällande eller försvara rättsliga anspråk, eller för att uppfylla en rättslig förpliktelse (till exempel anmälningar om missbruk enligt DSA art. 16, som sparas i 5 år enligt integritetsmeddelandet §6).
  • Aggregerade, anonymiserade driftmått, som inte kan identifiera dig och som ligger utanför GDPR:s definition av personuppgifter.

Verifiering före borttagning

Att ta bort kontot är destruktivt och går inte att ångra. Flödet för borttagning på egen hand kräver att du autentiserar dig igen (lokalt lösenord, eller förhöjd autentisering hos IdP:n om du bara använder SSO) och bekräftar genom att skriva ditt användarnamn, samma mönster som Forgejo använder när ett repo tas bort. Ett bekräftelsemejl skickas när du skickar in begäran och igen när fönstret för rensning ur säkerhetskopior är slut.

Återaktivering

När borttagningen är klar kan kontot inte återaktiveras. Användarnamnet är reserverat mot det borttagna användar-id:t för att skydda historiskt författarskap, så du kan inte registrera samma användarnamn igen vid en ny registrering. Om du vill använda fremforge igen registrerar du dig med en ny e-postadress och ett annat användarnamn.

Korsreferenser