Sikkerhed
GrantOne overblik
GrantOne er en online softwareløsning (SaaS), som digitaliserer modtagelse og behandling af fondsansøgninger.
GrantOne består af en række selvstændige webapplikationer målrettet forskellige brugere og opgaver:
- GrantOne Board er målrettet bestyrelsesmedlemmer og advokater/administratorer, som behandler indkomne ansøgninger. Brugerne kan læse ansøgningerne, skrive egne noter og diskutere med de øvrige bestyrelsesmedlemmer før der tages stilling til ansøgningen.
- GrantOne Board giver også administrator eller sekretæren mulighed for at udsende afslag og bevillingsbreve samt at opsætte betalingsplan for imødekomne ansøgninger.
- GrantOne Settings giver bestyrelsesmedlemmer med administrationsrettigheder mulighed for at styre forskellige aspekter af GrantOne, fx ansøgningskategorier, standard afslag, kvitteringer mm og opsætning af brugere.
- GrantOne Portal giver advokater og administratorer med flere fonde, et samlet overblik over nøgletal på de forskellige fonde, fx antal modtagne ansøgninger, beskeder fra ansøgere, betalinger som afventer godkendelse osv.
- GrantOne Applicant håndterer online ansøgninger. Ansøgeren bliver guidet gennem ansøgningsprocessen, hvor brugeren indtaster eller uploader de oplysninger, som er nødvendige for at fonden kan behandle ansøgningen.
- GrantOne Profile gør det muligt for ansøgere at oprette en profil, så de kan gemme kladder af ikke-indsendte ansøgninger, se status på indsendte ansøgninger og kommunikere med fonden på en enkel og sikker måde.
- GrantOne Upload giver ansøgere og fonde, som ikke benytter en profil mulighed for på en enkel og sikker måde at indsende yderligere information. Hver ansøgning tilknyttes et unikt link, som sendes til ansøgeren via email. Ansøgeren kan efterfølgende bruge linket til at uploade dokumentation.
- GrantOne Administration er et internt værktøj, som Grants ansatte benytter til opsætning og tilpasning af kunder. I værktøjet kan man slå moduler til/fra samt se og redigere visse basis opsætninger. Der er ikke adgang til de enkelte fondes ansøgninger.
Fælles for alle GrantOne applikationerne er, at de benytter et REST grænseflade, GrantCore, til at tilgå og manipulere med data. Al kommunikation mellem webapplikationerne og GrantCore sker på en sikker, krypteret forbindelse (HTTPS).
Sikkerhed
Applikationssikkerhed
Arkitektur
Som kort opridset ovenfor består GrantOne løsningen af flere applikationer, som logisk ligger i forskellige lag, som beskrevet i figuren nedenfor:
– Web-applikationer. De forskellige GrantOne applikationer tilgås med en browser. Applikationerne ligger på kundespecifikke underdomæner på grant.nu
– GrantCore er kernen i GrantOne løsningen. Den udstiller en REST grænseflade, som de forskellige webapplikationer benytter til at tilgå data.
GrantCore består også af en kø til håndtering af forskellige opgaver, som fx udsendelse af mails, som kan håndteres i baggrunden.
– Lager. GrantOne opbevarer data fra mange forskellige kilder – over stamdata om kunder og deres brugere, til ansøgningsskemaer, indsendte ansøgninger, indsendte dokumenter mm. Disse data gemmes dels i en database, som er opdelt pr kunde og dels på disk.
Udviklingsproces
Grant Aps har implementeret en agil udviklingsproces, hvor interessenter fra forretningen, brugeroplevelse og udviklerne sammen identificerer den bedste løsning. En integreret del af processen er identifikation af eventuelle sikkerhedsspørgsmål, fx hvilke brugere, som skal have adgang til en funktionalitet eller om der gives adgang til persondata.
Når den rigtige løsning er fundet bliver den kort beskrevet, der laves mockups på brugergrænsefladen og relevante tests beskrives før udviklingen igangsættes.
Som en del af udviklingen skrives der automatiske tests (unit test) på den nye funktionalitet, ligesom der udføres et peer-review og køres statisk analyse på kildeteksten.
Inden den nye funktionalitet integreres i GrantOne verificeres den i test og staging miljøerne. Når funktionaliteten er godkendt indgår den i GrantOne og vil være tilgængelig for kunderne i den næste release.
Test & kvalitetssikring
Da GrantOne bruges til uddeling af legater gennem behandling af ansøgninger, som indeholder persondata, er det helt essentielt, at kvaliteten og sikkerheden er så høj som muligt. Derfor har Grant ApS implementeret en række test og kvalitetskontroller på forskellige niveauer.
Som beskrevet ovenfor er det en integreret del af udviklingsprocessen, at overveje de sikkerhedsmæssige aspekter ligesom der skrives automatiske tests af forretningslogikken i de forskellige komponenter (unit tests). Disse tests afvikles automatisk hver gang en udvikler afslutter sine ændringer i kildeteksten. Idet adgang til data altid sker via kerne applikationen, GrantCore, er mindst 90% af kildeteksten dækket af automatiske tests.
For alle ændringer udføres der også statisk analyse af kildeteksten, som dels sikrer at kildeteksten overholder en række interne retningslinjer til formatering og struktur, men også identificerer potentielle sikkerhedshuller eller andre uhensigtsmæssigheder.
Endelige gennemfører Grant også peer-review af ændringerne; i tillæg til at forbedre kvaliteten sikrer peer-reviews også at flere medarbejdere har kendskab til hvordan de forskellige moduler er implementeret og har mulighed for at tilføje ekstra tests eller foreslå forbedringer, som den oprindelige udvikler ikke havde overvejet.
Inden en ny release frigives, gennemføres der også en grundig manuel test. Grant har tre separate miljøer – udvikling, demonstration og produktion. Produktionsmiljøet er fuldstændig adskilt fra de øvrige miljøer og deler ingen ressourcer med udvikling og demonstration. Bortset fra størrelse på maskinerne svarer demonstrations og produktions miljøerne til hinanden, således at det er muligt at verificere ændringer i demonstrationsmiljøet.
Grant arbejder løbende på at forbedre kvaliteten af GrantOne udviklingsarbejdet, herunder at implementere automatiske tests af de kritiske processer i brugergrænsefladen som supplement til de nuværende automatiske tests af REST grænsefladen.
Datasikkerhed
Brugeridentifikation
GrantOne opererer med flere forskellige typer brugere, fx bestyrelsesmedlemmer, ansøgere og Grant medarbejdere. Der findes derfor også flere forskellige metoder til identifikation af en bruger
Fælles for alle applikationer undtagen GrantOne Applicant (ansøgningsskemaet) er, at brugeren skal være logget ind før han/hun kan tilgå data.
Alle applikationer som er rettet mod bestyrelsesmedlemmer, administratorer eller Grants medarbejdere benytter NemID til identifikation af brugeren. Det forudsætter at brugeren er oprettet i systemet før der logges ind.
I GrantOne Profile er det muligt at oprette profiler og logge ind med enten NemID og/eller brugernavn og adgangskode. Hvilke muligheder der tilbydes afhænger af kundens ønsker og opsætning. Hvis kunden benytter brugernavn og adgangskode gemmes en krypteret (bcrypt) hash af adgangskoden med individuelt, dynamisk salt. Det er således ikke muligt at få adgang til de enkelte brugeres personlige adgangskoder. Det er et krav, at brugerens adgangskode er mindst 8 tegn. For at forhindre brute-force angreb låses brugerens konto automatisk efter 5 fejlede login-forsøg. Brugeren kan genåbne kontoen ved hjælp af et unikt aktiveringslink, som sendes til brugeren med mail og kun kan benyttes en gang.
Når brugeren er identificeret danner GrantCore et signeret token, som identificerer brugeren i forhold til GrantCore. Dette token skal applikationerne overføre i alle kald til GrantCore. Token har en udløbstid, som kan tilpasse i opsætningen; kald med et udløbet token afvises af GrantCore.
GrantCore er designet så kundedata er adskilt i databasen; kunden identificeres ved hjælp af domænenavnet i kaldet, fx fond-a.grant.nu og fond-b.grant.nu. Hvis en bruger er logget ind på en fond, fx fond-a, så kan brugeren også tilgå andre fonde, fx fond-b, forudsat brugeren er oprettet i begge fonde. Brugeren kan have forskellige rettigheder i de to fonde.
Datalagring
GrantOne løsningen gemmer mange forskellige data, fx oplysninger som ansøgerne indtaster eller uploader i forbindelse med en ansøgning og bestyrelsens arbejdsdokumenter i fildelingsmodulet.
Kundedata gemmes kun på Microsoft Azure infrastrukturen i produktionsmiljøet. Data kopieres aldrig fra produktionsmiljøet til de øvrige miljøer, men brugerne har mulighed for at eksportere dele af data til deres personlige computer, fx statistikker og rapporter. Når en bruger eksporterer oplysninger er det op til brugeren at sikre at data håndteres i overensstemmelse med GDPR.
Fil-upload
Filer som ansøgere eller andre uploader til GrantOne eller som vedhæftes mails til GrantOne (se nedenfor) gemmes på disk (Microsoft Azure Premium Storage). Diskene er placeret i Irland og der laves geo-redundante sikkerhedskopier til Holland.
Ansøgere og eksterne konsulenter kan indsende email med yderligere oplysninger omkring en ansøgning. Indkomne emails gemmes midlertidig på mailtjenesten før de hentes og behandles af GrantOne. Når en mail er blevet behandles gemmes indholdet af mailen i databasen (se nedenfor), mens eventuelle vedhæftede filer gemmes som filer (se ovenfor).
Database
Kundernes opsætning, brugerkonti, stamdata på ansøgninger mm gemmes i en PostgreSQL-database. Data der er gemt i databasen er krypteret in-rest og kommunikationen mellem databasen og applikationerne sker på en sikker, krypteret forbindelse (SSL).
I databasen oprettes et separat skema til hver kunde, således at data for de forskellige kunder ikke blandes. PostgreSQL-databasen er fysisk placeret i Irland, mens de krypterede sikkerhedskopier replikeres til Holland.
Logfiler
GrantOne danner en mængde logfiler fra fx web-serveren, applikationen og databasen. Logfilerne opbevares lokalt på den enkelte server i 90 dage, hvorefter de slettes.
Applikationen er konfigureret til at udelade oplysninger som fx mailadresser, telefonnumre, adgangskoder og CPR-numre.
Sikkerhedskopier
I produktionsmiljøet foretages der automatisk daglig sikkerhedskopier af databasen samt af data-disken.
Sikkerhedskopierne er krypterede og replikeres fra det primære miljø i Irland til Holland. Sikkerhedskopierne slettes efter 30 dage.
Dataopbevaring
Kundedata opbevares så længe som kunden har en aktiv aftale om brugen af GrantOne. Persondata relateret til behandlede ansøgninger, fx navn, adresse og bankoplysninger, anonymiseres eller slettes automatisk i overensstemmelse med GDPR og som beskrevet i databehandleraftalen mellem kunden og Grant ApS.
Hvis kunden opsiger aftalen med Grant ApS kan data eksporteres i et maskinlæsbart format på kundens forespørgsel. Hvis ikke der indgås aftale om eksport af data slettes de automatisk, når kundens konto hos Grant slettes. Data fjernes automatisk fra sikkerhedskopierne efter 30 dage.
Adgang til data
Medarbejdere hos Grant ApS har som udgangspunkt ikke adgang til kundedata. Medarbejdere med særlige funktioner, fx support og drift, har adgang til kundens stamdata (navn, adresse, kontaktperson mm) via GrantOne Administration.
Kun særligt udpegede medarbejder i driften har adgang til produktionsmiljøet og dermed til ansøgninger og fondens interne dokumenter, dialog mm.
Sikkerhedspolitik
Grants sikkerhedspolitik findes på vores intranet og er tilgængelig for alle ansatte. Sikkerhedspolitikken revideres årligt, og ændringer i driftsmiljøet opdateres øjeblikkeligt og distribueres til alle ansatte.
Privatlivspolitik
Grants privatlivspolitik findes på https://grantone.dk/privacy-policy
Ansatte
Alle ansatte i Grant ApS skal tilkendegive, at de har læst og forstået virksomhedens sikkerheds- og privatlivspolitikker, når de starter deres ansættelse.
Når sikkerheds- eller privatlivspolitikken opdateres informeres de ansatte om ændringer.
Alle ansatte er forpligtet til at hemmeligholde de oplysninger om kundernes data, som de måtte få i forbindelse med deres ansættelse.
Driftshændelser
Ændringsprocedure
Alle opdateringer i demonstrations- og produktionsmiljøerne er dækket af Grants ændringsprocedure. Ændringerne registreres i Grants interne release log, som blandt andet dokumenterer hvem der foretog ændring, formålet med ændringen og hvordan ændringen blev foretaget.
Idriftsættelser kræver forudgående godkendelse af CEO Morten Bak og CIO Jacob Eiler.
Varslingsprocedure
Grants driftsmedarbejdere varsler driftsforstyrrelser og planlagt driftsarbejde på https://status.grant.nu/. Siden viser den aktuelle driftsstatus samt ajourførte oplysninger om eventuelle driftsarbejder eller -forstyrrelser.
På siden har kunderne også mulighed for at tilmelde sig en særlig mailingliste, hvor planlagt driftsarbejde samt eventuelle driftsforstyrrelser meldes ud.
Beredskabsplan
Grants beredskabsplan er tilgængelig på virksomhedens intranet. Beredskabsplanen angiver hvilke handlinger, som driften skal udføre for at adressere forskellige driftsproblemer, eksempelvis diskfejl eller netværksnedbrud.
Sammen med den automatiske systemovervågning sætter beredskabsplanen Grants driftsmedarbejdere i stand til at håndtere driftsforstyrrelser på en struktureret måde, og dermed sikre at driftsforstyrrelserne bliver løst så hurtigt som muligt.
EUs databeskyttelsesforordning (GDPR)
GrantOne løsningen opfylder kravene til beskyttelse af persondata, som beskrevet i EUs databeskyttelsesforordning (GDPR). GrantOne bliver hostet på Microsoft Azure (se under leverandører) i Irland og Holland, persondata i GrantOne forbliver inden for EU.
Desuden sikrer GrantOne at alle indsamlede persondata bliver markeret som sådanne og automatisk slettes, når fonden ikke længere har en legitim interesse i at opbevare dem, fx når en ansøgning afvises. Ansøgerne bliver oplyst om til hvilket formål deres data indsamles og afgiver samtykke ved indsendelse af ansøgningen. Ansøgerne har via deres profil (eller ved at kontakte fonden) mulighed for at få oplyst hvilke data fonden ligger inde med og kan – ligeledes ved henvendelse til fonden – få rettet eventuelle fejl.
For yderligere detaljer henvises til GrantOne Databehandleraftalen.
Systems- & netværkssikkerhed
Adgang til produktionsmiljøet
Adgang til produktionsmiljøet er kun muligt via Microsoft Azure portal eller via en krypteret forbindelse (Secure Shell). Adgang via Secure Shell forudsætter at brugerens personlige nøgle er installeret på maskinen.
Der gives kun adgang til produktionsmiljøet for relevante medarbejdere og adgang kræver godkendelse af CIO Jacob Eiler.
Opdatering af produktionsmiljøet
Grants driftsmedarbejdere sørger for løbende opdatering af alle miljøer. Alle ændringer verificeres først i udviklings- og demonstrationsmiljøerne før de lægges på i produktionsmiljøet.
Grants drift holder sig løbende ajour med sikkerhedsopdateringer fra relevante leverandører, fx Microsoft (Azure) og Canonical (Ubuntu Linux).Kritiske sikkerhedsopdateringer og opdateringer, som forbedrer GrantOnes stabilitet idriftsættes hurtigst muligt, mens mindre vigtige rettelser planlægges og indarbejdes inden for 30 dage.
Sikkerhedsscanninger
Grant scanner produktionsmiljøet for eventuelle sikkerhedshuller med OpenVAS. Scanningerne udføres fast en gang i kvartalet og ved større ændringer i produktionsmiljøet. Hvis en scanning identificerer kritiske problemer bliver de adresseret med det samme; mindre problemer indarbejdes i produktionsplanen og adresseres på et senere tidspunkt.
Seneste scannings rapport fremsendes på forespørgsel.
Rapportering af sårbarheder
Da GrantOne behandler personfølsomme persondata er datasikkerhed naturligvis højt prioriteret hos Grant ApS. Vi har implementeret en række værktøjer og processer for at minimere risikoen for at sikkerhedshuller. Eksempelvis bliver der foretaget automatisk sikkerhedsscanninger, ændringer i kildeteksten bliver peer-reviewed, vi implementerer automatiske tests samt statisk analyse af kildeteksten for at identificere eventuelle problemer. Endelig opfordrer vi eksterne til at indsende oplysninger om potentielle sårbarheder til security@grantone.dk.
Monitoring & alarmer
Grant bruger flere forskellige værktøjer til at overvåge ydeevnen, svartiderne og belastningen af produktionsmiljøet:
– Nagios. Internt tilpasset overvågningssystem, som automatisk kigger på fx CPU-belastning, hukommelsesforbrug, diskplads og om de forskellige processer kører. Driftsholdet notificeres automatisk om eventuelle problemer via email.
– Azure Service Health. Overvåger forskellige aspekter af Azure infrastrukturen, fx CPU-belastning, disk- og hukommelsesforbrug på databasen. Eventuelle problemer bliver sendt til driftsholdet via email.
– New Relic. Ydeevnen på de forskellige GrantOne applikationer i form af svartider, automatisk logning af langsomme forespørgsler/processer.
Leverandører
Grant Aps benytter en række forskellige leverandører til GrantOne løsningen.
Microsoft
GrantOne er hostet på Microsoft Azure infrastruktur. De forskellige dele – webapplikationerne og GrantCore – kører på en række virtuelle servere, mens data gemmes i en PostgreSQL database og filerne gemmes på Azure Premium Storage.
Alle dele af infrastrukturen er konfigureret i North Europe regionen i Microsoft Azure, dvs. den fysisk er placeret i Irland. De geo-redundante sikkerhedskopier replikeres automatisk til et Western Europe regionen, dvs. Holland.
Microsoft Azure er kompatibel med GDPR og garanterer data ikke forlader EU – hverken i hvile (in rest) eller ved overførsel (in transit).
For yderligere oplysninger henvises til Microsoft Trust Center, https://www.microsoft.com/en-us/trustcenter
Grant ApS benytter G Suite (tidligere Google Apps) til håndtering af email. Emails fra ansøgerne til GrantOne modtages af Googles emailtjeneste og gemmes midlertidigt før de bliver hentet og behandlet af GrantOne.
Aftalen mellem Grant ApS og Google indeholder den nødvendige Data Processing Amendment og er derfor kompatibel med GDPR; se https://cloud.google.com/security/gdpr/ for yderligere detaljer.
Nets NemID
GrantOne benytter Nets NemID til at håndtere identifikation af bruger; selve identifikationsprocessen håndteres udelukkende af NemID i en iframe, mens resultatet (pid) sendes fra NemID til GrantOne. Første gang en bruger logger ind er det nødvendigt at kontrollere om det CPR-nummer, som er gemt i GrantOne svarer til den pid, som NemID oplyser, det sker ved et opslag i NemIDs pid-tjeneste.
New Relic
Grant benytter New Relic til at overvåge belastningen, ydeevne og svartiderne på de forskellige GrantOne applikationer samt GrantCore.
Selvom New Relic ikke indsamler persondata er tjenesten stadig certificeret under US-EU Privacy Shield Framework, se https://newrelic.com/termsandconditions/privacy-shield-framework
ZenDesk
Grant ApS bruger ZenDesk til at håndtere kundehenvendelser indsendt via email til support@grantone.dk
ZenDesk er certificeret under US-EU Privacy Shield Framework, se https://www.zendesk.com/company/customers-partners/privacy-policy/