Hankinnan tietoturvakysely — vastauksemme
Tämä sivu vastaa kysymyksiin, joita julkishallinnon ja yritysten hankinnoissa tyypillisesti esitetään ohjelmistotoimittajalle — mm. Traficomin Kyberturvallisuuskeskuksen "Ohjelmistohankinnan tietoturva: 10 kysymystä toimittajalle" -listan teemoihin. Sivun voi liittää sellaisenaan hankinta-asiakirjoihin. Päivitetty 16.7.2026.
Lyhin vastaus useimpiin kysymyksiin: asiakirjanne eivät koskaan saavu meille. Koukku Taituri käsittelee tiedostot 100 % käyttäjän laitteella, joten kysymykset asiakirjadatan pääsynhallinnasta, sijainnista, salauksesta levossa ja käsittelijäketjuista ratkeavat arkkitehtuurilla — ei sopimuslupauksilla. Tekninen kuvaus: Tietoturva ja arkkitehtuuri.
1. Tietoturvan hallintamalli
Koukku Kapital Oy on pieni suomalainen ohjelmistotalo. Meillä ei ole ISO 27001 -sertifikaattia — sen sijaan kuvaamme käytäntömme avoimesti:
- Tietoturvakriittinen koodi (redaktio, allekirjoitus, arkistointimuunnokset) katselmoidaan adversariaalisesti ennen julkaisua, ja sen testit todentavat lopputuloksen hyökkääjän näkökulmasta (esim. redaktoidun tiedoston raakabiteistä ei löydy poistettua sisältöä literaalina eikä koodattuna).
- Julkaisut kulkevat CI-porttien läpi: yksikkö- ja päästä päähän -testit, riippuvuuksien haavoittuvuusauditointi (portti estää julkaisun) sekä ulkoiset validaattorit (veraPDF PDF/A- ja PDF/UA-konformanssille).
- Lyhyt toimitusketju: yksi toimittaja, ei ulkoistettua kehitystä.
2. Turvallinen ohjelmistokehitys
- Versionhallinta, katselmoidut muutokset, automaattinen testikattavuus (yli 3 000 yksikkötestiä + selainpohjaiset päästä päähän -testit).
- Fail-closed-periaate: kun turvallisuusominaisuus ei voi taata lopputulosta (esim. lomakkeen litistys redaktiossa epäonnistuu, peittoalue osuu kuvaan jota ei voida rasteroida, tai fontteja ei ole upotettu), toiminto keskeytyy nimettyyn virheeseen eikä tiedostoa kirjoiteta. Portit ovat suoritettavia testejä, ja redaktio lukee lisäksi tuotoksensa takaisin ennen kuin se raportoi onnistumisesta.
- Rehellisyysperiaate: emme väitä konformanssia (PDF/A, PDF/UA) ilman riippumatonta validointia, emmekä tuota tiedostoja, jotka väittäisivät olevansa jotain mitä eivät rakenteellisesti ole.
3. Komponentit ja riippuvuudet
- Avoimen lähdekoodin ydinkirjastot: pdf-lib, PDF.js (Mozilla), Tesseract.js. Riippuvuudet on lukittu versiolleen (lockfile).
- Jokainen CI-ajo auditoi tuotantoriippuvuudet tunnettuja haavoittuvuuksia vasten; korkean vakavuuden löydös estää julkaisun.
- Tietoinen minimiriippuvuuslinja: uusia riippuvuuksia ei lisätä, jos toiminto on toteutettavissa ilman.
4. Haavoittuvuuksien hallinta ja ilmoituskanava
- Tietoturvailmoitukset: john@koukku.ai. Vastaamme ilman aiheetonta viivytystä.
- Selainversio päivittyy kaikille käyttäjille välittömästi julkaisun yhteydessä. Työpöytäversiossa on allekirjoitettu päivityskanava.
5. Pääsy asiakkaan tietoon
Kenelläkään — ei myöskään meillä — ole pääsyä asiakirjoihinne, koska niitä ei siirretä eikä tallenneta palvelimillemme. Ylläpitopääsyä asiakirjadataan ei ole, koska dataa ei ole. Ainoa hallussamme oleva asiakastieto on lisenssi- ja laskutustieto (ks. arkkitehtuurikuvaus).
6. Tietojen sijainti
- Asiakirjojen käsittely: käyttäjän laitteella — fyysisesti siellä, missä laite on (esim. organisaationne toimipiste Suomessa).
- Sovelluksen jakelu: staattiset tiedostot jaellaan CDN:stä; asiakirjadataa ei kulje jakelupalvelimen kautta.
- Lisenssi- ja yhteystiedot (vain tilaajat): lomaketiedot tallentuvat EU-alueen palveluun. Osa yhteystiedoista käsitellään lisäksi yhdysvaltalaisissa sähköposti- ja asiakkuudenhallintapalveluissa — yksilöity luettelo ja siirtoperusteet: tietosuojaseloste.
- Työasemakohtaisia lisenssiavaimia tilattaessa: työasemien tekniset tunnusluvut, jotka asiakas kerää itse ja lähettää meille kertaluontoisesti. Ne käsitellään erillään eikä niitä siirretä EU/ETA-alueen ulkopuolelle.
7. Lokitus ja valvonta
- Sovellus ei lähetä asiakirjojen sisältöä tai nimiä verkkoon — valvottavaa käsittelyliikennettä ei synny.
- Sovelluksessa on paikallinen käyttöloki (GDPR-osoitusvelvollisuuden tueksi): se tallentuu vain käyttäjän laitteelle ja on käyttäjän itsensä tarkasteltavissa ja tyhjennettävissä.
- Redaktiosta voi tuottaa PDF/A-muotoisen raportin (mitä poistettiin, miltä sivuilta, millä menetelmällä) esim. julkisuuslain mukaisen päätöksen liitteeksi.
8. Jatkuvuus ja irtautuminen
- Asennettu sovellus (PWA tai työpöytäversio) toimii kokonaan ilman verkkoyhteyttä — myös palvelumme häiriön tai päättymisen aikana.
- Työpöytälisenssi aktivoidaan avaimella ilman pilvikirjautumista; avain myönnetään sopimuskaudeksi ja tarkistetaan laitteella, ei aktivointipalvelimelta.
- Ei toimittajalukkoa: kaikki tiedostot ovat koko ajan asiakkaalla ja standardimuodoissa (PDF, PDF/A, PDF/UA).
9. Alihankkijat
Asiakirjadataa ei käsittele yksikään alihankkija, koska sitä ei käsitellä missään palvelimella. Alihankkijat liittyvät vain sovelluksen jakeluun sekä myynnin ja lisenssien hallintaan:
- Sovelluksen jakelu ja yhteydenottolomakkeiden vastaanotto: Google (Firebase Hosting, Cloud Functions, Firestore), palvelinalue EU.
- Tilaus- ja lisenssisähköpostit: Resend (Yhdysvallat).
- Asiakkuudenhallinta: HubSpot (Yhdysvallat).
- Verkkosivuston kävijämittaus: Google Analytics (Yhdysvallat). Ei koske työpöytäsovellusta, joka ei lataa analytiikkaa lainkaan.
Laskutus hoidetaan verkkolaskuna. Sivustolla ei ole korttimaksua eikä verkkokassaa, joten maksukorttitietoja ei käsitellä missään vaiheessa. Täydellinen käsittelijäluettelo, siirtoperusteet ja säilytysajat: tietosuojaseloste.
10. Sääntelynmukaisuus
- GDPR: asiakirjojen osalta emme tyypillisesti ole edes henkilötietojen käsittelijä — tiedot eivät poistu rekisterinpitäjän hallinnasta. Tarvittaessa toimitamme tietojenkäsittelysopimuksen (DPA) lisenssitietojen osalta.
- Kansainväliset siirrot: asiakirjadataa ei siirretä minnekään → GDPR:n V luvun siirtoarvioinnit eivät kohdistu asiakirjatyöhön lainkaan.
- Saavutettavuus: sovellus on auditoitu WCAG 2.1 AA -tasolle, ks. saavutettavuusseloste. Työkaluilla voi myös tuottaa saavutettavia (PDF/UA) ja arkistokelpoisia (PDF/A) asiakirjoja.
- NIS2 / CRA: seuraamme sääntelyä; jakelumme on allekirjoitettu ja päivityskanava hallittu. Client-side-arkkitehtuuri pienentää organisaationne liitäntäpintaa: uutta asiakirjadataa käsittelevää verkkopalvelua ei tule käyttöön.
Rehellinen rajaus: emme väitä sertifikaatteja, joita meillä ei ole. Jos hankintanne edellyttää muodollista ISO 27001 -näyttöä, kerromme avoimesti tiekartastamme — ja usein olennaisempaa on huomata, että arvioitava kohde on tavallista pienempi: palvelinta, joka käsittelisi asiakirjojanne, ei ole.