22.03.2022
Marko Korhonen

GDPR käytännössä: Miten suojaamme henkilötiedot Drupal-kehityksessä?

Tiedätkö, millä tavoin verkkosivustosi ylläpitäjä käsittelee sivustosi keräämiä ja tallentamia henkilötietoja? Ovatko tiedot turvassa? Jos et ole varma, luepa tämä juttu ja kysy sen jälkeen sivustosi ylläpitäjältä, miten he ovat ratkaisseet henkilötietojen suojauksen.

Kun EU:n tietosuoja-asetus GDPR astui voimaan toukokuussa 2018, kehitettiin kovalla tohinalla erilaisia teknisiä ratkaisuja henkilötietojen tietoturvallista käsittelyä helpottamaan. Innostus kuitenkin näytti laantuvan nopeasti ainakin Drupal- ja PHP-maailmassa, eikä toimivia työkaluja tietääksemme ole lopulta juuri syntynyt. Niinpä päätimme toimia itse. Kehitimme työkalun, jolla voimme suojata asiakkaidemme sivustojen käsittelemiä henkilötietoja ja samalla helpottaa omaa työskentelyämme.

Minkä ongelman GDPR-työkalumme ratkaisee?

Kuten tiedämme, monet verkkosivustot, sovellukset ja verkkokaupat keräävät ja tallentavat henkilötietoja. Esimerkkejä riittää, vaikka kävijä evästeseurannasta kieltäytyisikin: verkkokauppatilaukset, lomakkeilla kerättävät tiedot, intranet- ja extranet-ryhmätoiminnallisuudet, ja tietenkin Drupal-järjestelmän käyttäjätiedot.

Asiakkaidemme digiratkaisujen kehittäjänä ja ylläpitäjänä käsittelemme väistämättä tällaisia henkilötietoja. Vaikka asiakas onkin henkilötietorekisterinsä omistajana vastuussa tietojen käsittelystä, myös meidän on alikäsittelijänä huolehdittava, että toimimme GDPR:n mukaisesti.

GDPR:n kannalta kriittinen hetki on se, kun ohjelmistokehittäjä siirtää asiakkaan sivuston tuotantoympäristöstä omalle tietokoneelleen kehitystyötä varten. Sivuston henkilötiedot kun eivät saisi siirtyä mukana. Helpoin toimintatapa olisi poistaa henkilötiedot kehittäjän koneelta siirron jälkeen, mutta jos tarkkoja ollaan, silloin on jo liian myöhäistä. Tiedot ovat jo siirtyneet, vaikkakin vain hetkellisesti. Tämä toimintatapa myös estää EU:n ulkopuolisten alihankkijoiden käytön projekteissa – ja ylipäätään EU:n ulkopuolella työskentevien kehittäjien, vaikka EU-maan kansalaisia olisivatkin – sillä GDPR ei salli helposti tiedonsiirtoa EU/ETA-alueen ulkopuolelle.

Koska emme aikoinaan löytäneet tähän ongelmaan valmista ja toimivaa teknistä ratkaisua, kehitimme sellaisen itse: työkalun, jolla voimme minimoida henkilötietojen leviämisen sivuston kehitys- ja ylläpitotyössä ja maksimoida tietoturvan.

Miten GDPR-työkalu toimii?

GDPR-työkalun avulla voimme poistaa henkilötiedot kehittäjän tietokoneelle siirrettävästä sivuston tietokannasta – luonnollisesti palvelinpuolella ennen siirtoa. Luomme ensin tietokannasta tarkan kopion eli tietokantadumpin, jossa on tallella sama rakenne ja data kuin alkuperäisessäkin. 

Seuraavaksi määrittelemme, mitkä tiedot sivuston tietokannasta tulee käsitellä henkilötietoina. Tämä määrittely on tehtävä asiakkaan jokaiselle sivustolle erikseen, sillä esimerkiksi verkkokaupan ja verkkosivuston käyttäjädata sijaitsee eri paikoissa. Käytännössä tämä tehdään manuaalisesti mutta onneksi kertaluonteisesti siten, että selaamme tietokannasta eri taulujen (esim. käyttäjät) ja niiden kenttien (esim. puhelinnumerot) nimet ja listaamme ne, jotka katsomme henkilötiedoiksi. 

Kun listaus on tehty, annamme työkalulle ohjeen jokaisen henkilötietokentän käsittelyyn: luodaanko kenttään tekaistua dataa vai tyhjennetäänkö kenttä. Osan kentistä voi jättää tyhjiksi, osaan on annettava jotakin dataa. Työkalu sitten generoi kenttiin keksittyjä arvoja vaadittavassa muodossa, kuten puhelinnumeroita kansainvälisessä formaatissa, tai jos mahdollista, jättää kentät tyhjiksi. Tämän jälkeen sivuston voi turvallisin mielin siirtää kehittäjän koneelle työstettäväksi ilman riskiä siitä, että asiakkaan sivuston keräämät ja tallentamat henkilötiedot leviävät eteenpäin.

Suurissa yrityksissä lienee resursseja ylläpitämään valmista, anonymisoitua tietokantadumppia käsityönä, mutta meille automatisoitu ratkaisu on ainoa järkevä vaihtoehto. Hyödynsimme sen rakentamisessa kahta avoimen lähdekoodin kirjastoa – kesken jääneitä vastaavanlaisia kehitysprojekteja, jotka päivitimme toimiviksi. Nyt nämä kirjastot ovat meidän ylläpitämiämme ja muidenkin vapaasti hyödynnettävissä: MySQLDump-PHP tietokantadumpin generoinnin muokkausta varten ja FakerPHP tekaistun datan generointiin. Kirjastoja voi käyttää Drupal 8 -versiosta ylöspäin.

GDPR-turvallista Drupal-kehitystä

GDPR-työkalusta on hyötyä niin asiakkaillemme kuin meille itsellemme. Automatisoitu ratkaisu helpottaa ja nopeuttaa työskentelyämme. Ja kun henkilötietojen tarpeeton liikkuminen on teknisesti estetty, asiakkaamme voivat olla levollisin mielin sen suhteen, että henkilötiedot eivät ainakaan meidän kauttamme leviä ympäriinsä.

Suosittelemme tarkistamaan verkkosivustosi ylläpitäjältä, millä tavoin he käsittelevät sivustosi keräämiä henkilötietoja. Jos vastaus ei vakuuta, olemme mielellämme avuksi.

Haluatko tietää lisää?

Kirjoittaja

Marko Korhonen

Platform Engineering Lead