Tilbake til nyheter
Publisert 1. september 2024Oppdatert 10. desember 20241 min lesing

Slik er Cooperates autorisasjonsmodell bygget

Slik modellerer vi roller, policyer og revisjonsspor for å kombinere plattforminnsyn med streng isolasjon mellom leietakere.

Diagram med sammenkoblede skjold som illustrerer rollebasert tilgang
autorisasjonrbacsikkerhet

Slik er Cooperates autorisasjonsmodell bygget

Markedsplasser står og faller på tillit. I Cooperate betyr det at hvert API-kall starter med spørsmålet: hvem har lov til å lese eller endre denne raden?

Lagdelingen vår

  • Kontrakter som sannhetskilde. Hvert domene eksponerer Zod-skjemaer i packages/contracts/**, som definerer alle payloads i systemet.
  • Domenevakter. Servermoduler under src/server/domains/** håndhever rollechecks og skriver revisjonshendelser—UI-komponenter snakker aldri direkte med Supabase.
  • RLS overalt. Tabeller åpnes aldri uten policies som bekrefter leietakermedlemskap eller plattform-unntak.

Rollene vi støtter

  1. Selskapsroller (company_admin, project_manager, member) styrer hva ansatte kan publisere og godkjenne.
  2. Plattformroller (platform_admin, compliance_reviewer, support) får lesetilgang på tvers, mens endringer skjer gjennom auditerte admin-flyt.
  3. Anonyme besøkende får kun tilgang til cachede markedsføringssider uten persondata.

Slik lukkes loopen

Alle privilegerte handlinger skriver en revisjonslogg med aktør, handling, mål og begrunnelse. SQL-tester i supabase/tests/** bekrefter at RLS-policyene respekterer rollene, mens Playwright-scenarier verifiserer at UI-et følger samme regler.

Veien videre

  • Automatisert sammenligning av policies i CI for å oppdage utilsiktet rettighetsutvidelse.
  • Moderasjonskonsoll som kombinerer revisjonshendelser med meldingshistorikk.
  • Segmenterte API-nøkler slik at partnere kan integrere uten å omgå RBAC.

Har du sikkerhetsspørsmål? Kontakt oss på security@cooperate.no.

Likte du denne oppdateringen? Del den med kollegene dine.Spørsmål? Send oss en e-post på hello@cooperate.no