Tietoturva
Tietoturva ja tietosuoja ovat olleet mukana suunnittelussa alusta asti. Alla kuvaamme kerros kerrokselta, miten Veisla on rakennettu ja mitä kukin kerros tekee.
| Kerros | Näin Veisla toteuttaa sen |
|---|---|
| 1 · Käyttöliittymä | Next.js 16 ja React 19 palvelinpuolella renderöidyin komponentein sekä sovelluksessa että hallintatasolla. |
| 2 · API ja taustalogiikka | Tyypitetty App Router -API, valtuutuksen tarkistus palvelimella jokaisessa pyynnössä ja jäsennelty virheenkäsittely. |
| 3 · Tietokanta ja tallennus | Tietokanta asiakaskohtaisesti: jokaisella asiakkaalla on oma eristetty tietokanta (Azure Postgres / Neon), eikä tauluja jaeta asiakkaiden kesken. |
| 4 · Todennus ja pääsy | Roolipohjainen käyttöoikeuksien hallinta, asiakaskohtainen kertakirjautuminen (SSO) ja valinnainen kaksivaiheinen tunnistautuminen (TOTP). |
| 5 · Ylläpito ja julkaisu | GitHub Actions ja Azure OIDC, joten putkessa ei ole pitkäikäisiä pilviavaimia. Sovellus julkaistaan versioina, ja asiakasympäristöt päivitetään käsin hallintatasolta. |
| 6 · Pilvi ja laskentakapasiteetti | Microsoft Azure Container Apps Norway East -alueella. Ajoympäristö voi olla asiakkaiden yhteinen; asiakkaiden eristys perustuu asiakaskohtaiseen tietokantaan. |
| 7 · CI/CD ja versionhallinta | Tuotannon salaisuudet säilytetään Azure Key Vaultissa, Container Apps -salaisuuksina ja GitHub Secretsissä, ja koodimuutokset tarkistetaan CI:ssä vuotaneiden salaisuuksien varalta. |
| 8 · Eristys asiakkaiden välillä | Jokaisella asiakkaalla on oma tietokanta yhteisen tietokannan rivitason suojauksen (row-level security) sijaan, joten eri asiakkaiden tietoja ei koskaan tallenneta samoihin tauluihin. |
| 9 · Pyyntömäärien rajoitus | Suojaus brute force -hyökkäyksiä vastaan kirjautumisessa ja julkisissa päätepisteissä. |
| 10 · Edge ja TLS | TLS päätetään Azure Container Appsin ingressissä, ja jokaista asiakasta palvellaan omalla isäntänimellä. |
| 11 · Kuormantasaus ja skaalaus | Azure Container Apps skaalaa sovellusta kuormituksen mukaan. |
| 12 · Virheenjäljitys ja lokitus | Virheenseuranta palvelimella, selaimessa ja reunalla henkilötiedot poistettuina; jäsennelty lokitus asiakas- ja korrelaatiotunnisteineen. Kaikki tietokannan ylläpitopääsy auditoidaan, mutta tulosrivejä ei kirjata lokiin. |
| 13 · Saatavuus ja palautus | Tietokantapalvelimen automaattiset varmuuskopiot ja tarvittaessa asiakaskohtaiset tietokantavedokset. Maksujen webhookit käsitellään idempotentisti, ja ne voidaan ajaa uudelleen. |