Underlag för kårledning och teknisk granskning
Teknik och säkerhet
Kårnavet kompletterar Scoutnet med planering, mötesstöd och familjekommunikation. Här beskriver vi hur åtkomst, integrationer och lagring fungerar och vilka frågor som behöver vara lösta när fler kårer ansluts.
Scoutnet är medlemskälla
Kårnavet läser medlemsunderlag via Scoutnets API med kårens läsnycklar. Kårledningen väljer avdelningslistor och granskar nya, flyttade och avslutade medlemskap innan arbetskopian uppdateras. Kårnavet lagrar de uppgifter som behövs för de anslutna funktionerna.
Klienten tillåter endast läsanrop till angivna Scoutnet-adresser. Nycklar skickas i anropets behörighetsfält och läggs inte i webbadressen. Omdirigeringar avvisas så att nycklar inte följer med till en annan adress. Anrop och svar har tids- och storleksgränser.
Kårnavet skriver inte närvaro, patruller eller arrangemang till Scoutnet i dag. Ett internt testflöde för återföring finns, men en skarp koppling kräver överenskommelse, dokumenterat API och verifiering tillsammans med Scoutnet.
Åtkomst kontrolleras på servern
Åtkomsten avgränsas efter kår, avdelning, roll och verifierad familjekoppling. Kontrollen görs på servern vid skyddad läsning och ändring. Att dölja en knapp i gränssnittet är inte behörighetskontrollen.
Ledare och kårledning loggar in med Google och en personlig inbjudan. Att ha en e-postadress på kårens domän ger inte åtkomst i sig. Vårdnadshavare loggar in med e-post och lösenord utan Google-konto. Personlig mejllänk finns som alternativ när e-postleverans är aktiverad. Behörigheter kan återkallas och kontrolleras på nytt när tjänsten används.
Sessionskakor skyddas med Secure, HttpOnly och SameSite. Ändringar har CSRF-skydd. Integrationsnycklar och långlivade Gmail-token krypteras med AES-GCM före lagring. Importer och viktiga administrativa ändringar loggas för uppföljning.
Gemensamma uppgifter utan tysta överskrivningar
Applikationen använder Python och FastAPI på servern samt PostgreSQL i drift. Samma kodbas hanterar alla roller och kårer. Databasändringar versionshanteras och verksamhetsuppgifter sparas med transaktions- och versionskontroller.
Om två ledare ändrar samma underlag ska en äldre version inte tyst ersätta den nyare. Servern avvisar versionskonflikten så att uppgifterna kan läsas in på nytt.
Offline på mötet
En ledare kan uttryckligen spara ett valt möte på sin enhet i högst 48 timmar. Kopian är bunden till användare och kår och innehåller det begränsade underlag som behövs för mötet, inklusive scoutnamn. Kontaktregister, hälsouppgifter och integrationsnycklar ingår inte.
Närvaro registrerad utan nät köas på enheten. När anslutningen återkommer synkas ändringarna med versionskontroll. Kontobyte och utloggning rensar privat offlinedata.
Google, e-post och SMHI
Google-inloggning används för att verifiera ledarens identitet och e-postadress. Gmail ansluts separat med gmail.send. Ledaren granskar och startar utskicket från sitt anslutna konto och kan koppla bort anslutningen.
Kårnavet läser inte inkorg, skickade meddelanden, kontakter eller Gmail-inställningar. Inbjudningar och inloggningslänkar levereras via Brevo. Verksamhetsutskick kräver användarens aktiva val.
SMHI får mötesplatsens koordinater. Kårnavet väljer prognosen för mötestiden och kan använda den i ett utskicksutkast. Medlemsuppgifter skickas inte till SMHI.
Hälsokort och personuppgifter
Kårnavet visar administrativ status för hälsokort, exempelvis att ett svar har kommit in. Svaren och de känsliga hälsouppgifterna lagras inte i Kårnavet. Kåren ansvarar för den separata hanteringen av hälsokorten.
Integritetspolicyn beskriver uppgifter, ändamål, leverantörer och kontaktvägar. Kårens ansvar för medlemsuppgifter och Pinetree AB:s ansvar för tjänstens drift behöver omfattas av överenskomna rutiner och avtal.
Tester och drift
Automatiserade tester prövar bland annat att åtkomst mellan kårer avvisas, att ledare begränsas till sina avdelningar, att återkallade sessioner slutar fungera och att gamla versioner inte skriver över nya. Integrationstester kontrollerar också att Scoutnet-anrop är skrivskyddade och att nycklar inte hamnar i webbadresser. Testerna använder påhittade personer.
Webbläsarprov kontrollerar arbetsflöden och layout på olika skärmstorlekar. Databastester mot PostgreSQL kräver en separat testdatabas. Automatiserade tester är en del av kvalitetssäkringen; de är inte en oberoende säkerhetsrevision eller certifiering.
Applikationen och databasen körs hos Scalingo i Frankrike. Trafiken skyddas med HTTPS/TLS. Långlivade OAuth-token krypteras före lagring. Separata hälsokontroller följer applikationen och databasanslutningen. Det finns stöd för krypterad extern säkerhetskopiering och för att följa backupfel i administrationen, utöver driftleverantörens säkerhetskopior.
Inför bredare användning behöver avtal, gallringstider, incidentansvar, larm och återställningsprov vara dokumenterade och verifierade. Stöd för flera kårer i datamodellen är inte i sig ett genomfört kapacitetsprov för nationell drift.
Valda Google Sheets-filer
Google Sheets ansluts separat med drive.file. Kårledning och avdelningsledare kan välja eller skapa en planeringsfil som läses och synkas med Kårnavet. För hälsokort läses rubrikerna och kolumnerna för scoutens namn och svarstid i det valda svarsarket; hälsosvaren läses inte. Kårnavet får inte generell åtkomst till Google Drive och raderar eller delar inte filerna.