Predstavljali so se eden za drugim.
Nina Šilc je skrbela za strežniški del sistema. Matic Božič, osemindvajset let, je delal na mobilni aplikaciji. Rok Čuješ, dvaintrideset, je bil zadolžen za podatkovno bazo, torej za prostor, kjer so shranjeni vsi podatki o uporabnikih.
Zapisovala sem si. Kratko. Brez odvečnih besed. Ime, projekt, trenutna naloga.
Potem je prišla vrsta na Luko Žagarja.
Rahlo se je odkašljal. Glas je imel še vedno samozavesten, drža pa se mu je spremenila. Ni več sedel razlezlo, kot da je soba njegova, temveč precej bolj pokončno.
»Luka Žagar. Frontend. Delam uporabniški račun.«
»Frontend je tisti del, ki ga navaden uporabnik vidi na zaslonu,« sem rekla, bolj zaradi reda in zaradi svojih zapiskov kot zato, ker bi bilo treba komu razlagati. »Gumbi, obrazci, strani. Uporabniški račun pa je prostor, kjer se človek prijavi z imenom in geslom, spreminja nastavitve ter pregleduje zgodovino. Drži?«
Luka je kratko prikimal.
»Rok?« sem vprašala.
»Ja, normalno. Je v delu.«
»Bolj natančno, prosim. Do katerega dne?«
Skomignil je z rameni.
»Do petka, verjetno.«
»Dobro. Danes do petih mi pošlji vse, kar je že narejeno. Za pregled. Rada bi videla trenutno stanje.«
Nasmehnil se je. Komaj opazno, samo z enim kotičkom ust, toda ujela sem ga. Opazila sta ga tudi fanta poleg njega. Eden od njiju, isti, ki je zjutraj prhnil skozi nos, se je naslonil nazaj na stol.
Sestanek se je končal. Ljudje so začeli vstajati in se pomikati proti vratom. Pospravljala sem zvezek, ko sem s hodnika zaslišala Lukov glas. Ni govoril glasno, šepetal pa tudi ni. Ravno prav. Tako, da je bilo slišati. In hkrati tako, da bi se lahko pozneje izgovoril: nisem govoril vam.
»Po vezah so jo posadili sem. Ste videli? Zvezčič, kemični svinčnik. Kot v računovodstvu. Triindvajset let izkušenj, oblečena pa kot knjižničarka. Bomo videli, koliko časa bo zdržala.«
Nekdo se je tiho zasmejal.
Nina Šilc je stala ob avtomatu za vodo. Slišala je vse. Pogledala me je. Jaz pa sem se obrnila nazaj k monitorju.
Trikrat.
V pol dneva trikrat.
Prvič na hodniku, ko mi je rekel »teta, umaknite se«, in to pred dvema pričama. Drugič na sestanku, ko sem mu dala nalogo in se je posmehnil. Tretjič zdaj, za mojim hrbtom, s tistim »po vezah«, vendar izrečeno dovolj jasno, da bi prišlo do mene.
Na zaslonu sem odprla kodo projekta. Morala sem ugotoviti, kaj je že napisano in kaj ne. Ko so se mi prsti dotaknili tipkovnice, se je v meni nekaj umirilo. To je bilo moje območje. Tu leta niso pomenila ničesar. Tu je štela samo ena stvar: ali deluje ali ne.
Ob petih mi je Luka poslal kodo v pregled.
Odprla sem datoteke. Dvanajst modulov, nekaj več kot štiristo vrstic. Uporabniški račun. Torej tista stran, na kateri se človek prijavi v spletno mesto, spremeni svoje podatke in pogleda, kaj je kupoval. Naloga ni bila med najtežjimi, je pa zahtevala natančnost. Še posebej pri varnosti. Za takšno stranjo namreč ne stojijo izmišljeni profili, ampak resnični ljudje, z resničnimi osebnimi podatki.
Luka je prišel do moje mize. Roke je imel v žepih, brado rahlo dvignjeno, slušalke pa obešene okrog vratu.
»Poslal sem. Vse dela. Lahko grem?«
»Počakaj,« sem rekla in se pomikala po kodi na zaslonu. »Sedi, prosim.«
Ni sedel. Ostal je na nogah in se prestopal z ene noge na drugo.
Prvo napako sem našla po treh minutah.
Preverjanje gesla je bilo napačno. Program je spustil skozi prazno polje. To je približno tako, kot bi imel vhodna vrata s ključavnico, ki se odprejo, če nekdo samo pritisne kljuko. Brez ključa. Kdor koli bi lahko vstopil v tuj uporabniški račun, ne da bi poznal geslo.
»Tukaj,« sem pokazala na vrstico. »Preverjanje ne deluje. Uporabnik se lahko prijavi s praznim geslom. Razumeš, kaj to pomeni? Nekdo tuj pride v tvoj račun in vidi vse: ime, naslov, številko kartice.«
Luka se je sklonil proti zaslonu.
»Aha, ja. Malenkost. Bom potem popravil.«
»To ni malenkost. To so vrata brez ključavnice.«
Druga napaka: uporabniški podatki so se prenašali brez zaščite. Kot bi pismo z osebnimi podatki poslali ne v zaprti kuverti, ampak na razglednici. Vsak, ki bi jo na poti prestregel, bi lahko prebral vsebino.
Tretja napaka: isto dejanje je bilo napisano na štirih različnih mestih, namesto da bi bilo urejeno enkrat. Kot če bi v kuharskem receptu navodilo »pečico segrej na sto osemdeset stopinj« natisnili štirikrat, na vsaki strani posebej. Program zaradi takih stvari dela počasneje in se pogosteje pokvari.
Četrta.
Peta.
Šesta.
Luka je molčal. Ušesa niso bila več rožnata. Zdaj so bila rdeča. Živo rdeča, kot kuhani raki na krožniku. Roke je izvlekel iz žepov in jih prekrižal na prsih.
Sedma napaka. Program sploh ni preveril, ali uporabnik obstaja, preden mu je prikazal stran. Kot poštar, ki odnese paket na naslov, ne da bi preveril, ali hiša na tem naslovu sploh stoji. Paket izgine nekam v prazno. Podatki pa končajo pri komer koli.
»Sedem napak,« sem rekla in zaprla zvezek. »V štiristotih vrsticah. Tri so kritične. Če bi ta koda šla na pravo spletno stran, bi osebni podatki uporabnikov ležali vsem na očeh.«
Luka je stal pred mano. Rok ni imel več prekrižanih. Visele so mu ob telesu, prsti pa so bili stisnjeni v pesti.
»Popravil bom,« je rekel tiho.
»Seveda boš. Jutri ob desetih zjutraj pričakujem popravljeno različico. Vseh sedem točk.«
Obrnil se je in odšel. Hitro, brez enega samega pogleda nazaj.
