Mennään tekniseksi.
Kaikki mitä etusivu sanoo, kirjoitettuna auki siitä mistä se on rakennettu. Oikea tietokanta, miten kontakti todella syntyy, ja kuka muu koskettaa puhelua.
Et tarvitse tätä sivua Rilon käyttämiseen, eikä mikään täällä ole ristiriidassa yksinkertaisemman version kanssa. Sama tuote, tarkasti kuvattuna.
Koko tietokanta
Kaikki mitä palvelimemme tietää perheestäsi.
Ei tiivistelmä. Nämä ovat ne seitsemäntoista taulua, jotka palvelimella on, ja niiden sarakkeet. Neljä koskee perhettäsi: keitä he ovat, kuka saa toimia lapsen puolesta, mistä puhelimista he puhuvat ja mihin heille soitetaan. Neljä pitää jotakin tallessa puhelimelle, joka oli sammutettuna, ja kaikki neljä tyhjentävät itsensä. Kolme kertoo, kuka saa toimia lapsen puolesta ja mihin puhelimeen ei enää luoteta. Kaksi on allekirjoitettuja merkintöjä lopusta, katkaistusta kontaktista tai lähteneestä ihmisestä. Ne säilytetään, jotta verkon ulkopuolella ollut puhelin voi tarkistaa ne itse eikä joudu uskomaan meitä. Yksi on käytettyjä kertanumeroita, jotka siivotaan pois niiden vanhentuessa. Yksi on tilaus, eikä siinä ole mitään, mikä nimeäisi ketään. Yksi on ilmoitus, jonka aikuinen lähetti meille, ja se on täällä ainoa taulu, joka on olemassa saadakseen jotakin tapahtumaan. Viimeinen ei koske perhettäsi lainkaan.
- idtiiviste julkisesta avaimesta, ei nimi
- public_keylaitteen avain, joka on tili
- typeaikuinen tai lapsi
- type_certallekirjoitus, joka todistaa sen. Lapsen tilin allekirjoittaa vanhempi, joten mitään lippua ei ole käännettävissä
- created_at
- last_activeviimeinen kerta, kun joku puhelimistasi sanoi hei
- dormant_warned_attyhjä
- consent_sealedrekisteröitymisessä antamasi sähköpostiosoite, sinetöity avaimelle, joka on paperilla perustajan hallussa. Yksikään palvelin ei voi lukea sitä
- uncovered_sincetyhjä, paitsi jos tilauksesi ei enää kata tätä lasta — silloin päivä, jona huomasimme sen, jotta kuukausi ennen kuin mikään lakkaa alkaa siitä
- keymitä muistetaan
- valueja mitä siinä sanotaan
- account_id
- guardian_keyavain, joka saa toimia tämän lapsen puolesta
- added_at
- removed_at
- account_id
- device_keyyhden puhelimen oma avain. Ihminen voi puhua useammasta kuin yhdestä
- agreement_keyavain, jolle viesti sinetöidään, jotta vain se puhelin voi avata sen
- certallekirjoitus, joka päästi tämän puhelimen sisään, säilytetty sanasta sanaan, jotta puhelimesi voi tarkistaa sen sen sijaan että uskoisi meitä
- kindpuhelin tai tulostettu palautuspaperi
- added_at
- removed_at
- account_id
- device_keyminkä puhelimistasi tämä saa soimaan
- platformapns tai fcm
- tokenmerkityksetön tunniste Applelta tai Googlelta
- updated_at
- nonce
- expires_at
- edge_hashtiiviste parista, ei kahdesta ihmisestä
- denied_at
- expires_at
- edge_hashtiiviste parista, ei kahdesta ihmisestä
- grant_recordlupa, josta päätetään, ja tähän mennessä kerätyt allekirjoitukset
- waiting_keykenen allekirjoitus vielä puuttuu
- requested_bypuhelin joka kysyi, jottei yksi puhelin voi hukuttaa perhettä kysymyksiin
- originkasvokkain luettu, tai vanhempi lapsensa puolesta
- delivered_tomillä puhelimilla se jo on
- declaredkysyvän puolen oma nimi, sinetöity niin että vain se perhe, jonka koodin he lukivat, voi lukea sen
- created_at
- expires_at
- id
- recipient_idreititys tarvitsee tämän selkokielisenä
- recipient_devicemille heidän puhelimistaan laatikko on sinetöity. Jokaisella puhelimella on oma avain, joten jokainen saa oman laatikkonsa
- sender_idjotta puhelin tietää, kenen avain sen avaa
- sender_devicemikä heidän puhelimistaan sinetöi sen, jotta oikea kopio löytää oikean lukon
- edge_hashpari tiivisteenä, jottei tätä voi lukea karttana siitä, kuka puhuu kenen kanssa
- sealedsalattua tekstiä. Tekstisaraketta ei ole eikä tule
- sent_at
- expires_at
- edge_hashpari tiivisteenä
- revoked_at
- recordallekirjoitettu merkintä, jotta verkon ulkopuolella ollut puhelin voi tarkistaa katkaisun itse eikä joudu luottamaan sanaamme
- id
- account_idkenen puhelin- ja aikuislista muuttuu
- kindliittyminen vai poistaminen
- subject_keypuhelin tai aikuinen josta on kysymys
- subject_kindkumpi näistä kahdesta
- agreement_keytoinen avain jonka puhelin tarvitsee, tyhjä paperille
- recordallekirjoitus itse, säilytetty sanasta sanaan jotta puhelin voi tarkistaa sen sen sijaan että uskoisi meitä
- signed_bymikä avain sen allekirjoitti
- by_authorityallekirjoittiko sen palautuspaperi, mikä on se mikä panee sen odottamaan
- issued_atallekirjoittajan ilmoittama hetki, ei koskaan meidän kellomme
- reasontyhjä, ellei allekirjoittaja kirjoittanut jotain
- proposed_at
- effective_atmilloin se tulee todeksi, kaksi yötä ehdottamisen jälkeen
- contested_at
- contested_bykuka vastusti, ja millä allekirjoituksella
- contest_record
- resolved_at
- resolutiontoteutettu tai peruttu, kun asia ratkeaa
- change_idmikä odottava muutos
- voter_keymikä aikuinen
- decisionpäästä läpi vai pysäytä
- recordhänen allekirjoituksensa
- at
- account_idkenen puhelin se oli
- device_keyavain joka varastettiin
- revoked_at
- recordallekirjoitettu todiste, jotta puhelin voi tarkistaa sen meiltä kysymättä
- account_idtili joka on poissa
- retired_at
- recordallekirjoitettu todiste, tehty tilin omalla avaimella ennen kuin avain hävitettiin
- account_id
- storeapple, google tai talon puolesta
- store_refläpinäkymätön viite kaupasta. Se on ainoa asia, jonka avulla voimme myöhemmin kysyä siltä jotain
- store_ref_hashsormenjälki yllä olevasta viitteestä. Se estää yhden kuitin kattamasta kahta tiliä
- environment
- stateactive, grace, lapsed, lapsed_trial tai disabled
- seatsmontako lasta se kattaa. Luku, ei koskaan heidän nimiään
- expires_at
- acts_at
- updated_at
- device_keypuhelin jolle ei ole vielä kerrottu
- change_idmistä muutoksesta on kysymys
- whatehdotettu, kiistetty tai ratkaistu
- account_idkenen puhelinlista muuttui. Kun aikuiselle kerrotaan hänen lapsestaan, tämä on lapsi
- subject_keypuhelin joka lisättiin tai poistettiin
- effective_at
- created_at
- expires_at
- delivered_atmilloin saimme sen sanottua, tai tyhjä koska emme ole
- id
- about_keykenestä ilmoitus kertoo. Luettavana, jotta joku voi tehdä sille jotakin
- reasonmikä kuudesta asiasta tapahtui, sellaisena kuin ilmoittava aikuinen sen valitsi
- csa
- sealedmitä kirjoitettiin, sinetöity lähettävässä puhelimessa avaimella, joka on paperilla perustajan hallussa. Yksikään palvelin ei voi lukea sitä
- sealed_digestsormenjälki sinetöidystä osasta, jotta myöhemmin avattu on todistettavasti se mikä saapui
- received_at
- edge_snapshotkenellä oli lupa tavoittaa kuka, ja kuka aikuinen sen salli, sellaisena kuin tilanne sillä hetkellä oli. Tätä ei voi jälkeenpäin koota uudelleen
- reporter_keykuka sen lähetti, tai ei mitään jos se lähetettiin nimettömänä
- source
- sealed_key
- receiptviite, joka jää lähettäjälle. Se on ainoa tapa, jolla voimme vastata jollekulle ilmoituksesta, jota emme voi avata
- acknowledged_at
- decided_at
- actioned_at
- escalated_at
- decided_by
- outcome
Sarakkeita joita ei ole
- sähköposti
- nimi
- ikä
- valokuva
- viestin teksti
- puhelun sisältö
- puheluhistoria
- kontaktilista
- sijainti
- laitemalli
Sähköpostiosoitteesi tarkistetaan kertaalleen rekisteröitymisen yhteydessä ja sinetöidään samassa hengenvedossa avaimelle, joka on paperilla perustajan hallussa eikä ole koskaan koskettanut palvelinta. Laki pyytää meitä pystymään todistamaan, että aikuinen antoi suostumuksensa. Emme itse pystyisi lukemaan sitä takaisin. Nimet ja kuvat asetetaan jokaisessa puhelimessa erikseen ja annetaan suoraan toiselle puhelimelle. Ne eivät koskaan tule meille, ja siksi voit vaihtaa isoisän nimeksi “Ukki” ilman että me saamme sitä koskaan tietää. Emme voisi näyttää tästä mitään kenellekään vaikka haluaisimme, eikä meitä voi siihen pakottaa.
Tämä osio on tuotettu palvelimen omasta skeemasta, tiedostoista accounts.ts ja roster-changes.ts, jotka luovat tietokannan. Jos ne joskus ovat eri mieltä, tiedostot ovat oikeassa ja tämä sivu on virhe.
Kontaktit
Miten kontakti todella syntyy.
Jonkun puhelin tekee kertakäyttöisen kutsun. Toinen puhelin lukee sen, joko näytöltä samassa huoneessa tai linkistä, jonka aikuinen lähetti. Lukeminen aloittaa esittelyn ja tallentaa samalla hetkellä toisen puhelimen julkisen avaimen, joten kummatkin puhelimet tietävät siitä lähtien tarkalleen, mikä avain kuuluu kenelle. Juuri se osa tekee myöhempään puheluun väliin asettumisen mahdottomaksi, meille mukaan lukien. Mikään tästä ei kytkeydy ennen kuin aikuinen toisella puolella on sanonut kyllä.
Vielä ei ole kontaktia. Vastuullisen aikuisen on allekirjoitettava kontakti omalla puhelimellaan, sillä hetkellä tehdyn biometrisen tarkistuksen takana. Allekirjoitettavana on koko juttu. Kuka, kenen kanssa ja mihin suuntaan. Se allekirjoitus on se, minkä palvelin tarkistaa ennen kuin se välittää yhtään mitään. Palvelimella ei ole yhtään avainta, jolla voisi allekirjoittaa, joten se ei voi luoda kontaktia, eikä voi kukaan joka varastaa tietokannan.
Kun molemmilla puhelimilla on valmis kontakti, rivi poistetaan ja kontakti on olemassa vain näillä kahdella laitteella. Sen katkaiseminen myöhemmin kirjoittaa allekirjoitetun peruutuksen, ja se on ainoa merkintä jota säilytetään rajattomasti. Se tallennetaan parin tiivisteenä, joten se kertoo että kontakti päättyi, kertomatta kuka tunsi kenet.
Ketkä muut ovat mukana
Kolme yritystä koskettaa puhelua. Yksikään niistä ei voi kuulla sitä.
Kuusi muuta yritystä koskettaa palvelua, ja ne kaikki on lueteltu tietosuojakäytännössä. Kolmea niistä tarvitaan siihen, että puhelu saadaan soimaan. Tässä on se, mitä kukin näistä kolmesta näkee ja mitä ei.
-
Apple & Google
Push-ilmoitukset, jotta puhelu saa nukkuvan puhelimen soimaan. Kummallakin alustalla väistämättömiä. Niissä kulkee merkityksetön tunniste eikä mitään muuta. Ei nimeä, ei numeroa, ei sisältöä.
-
Cloudflare
Noin joka kuudennessa puhelussa kahta puhelinta ei saada yhdistettyä suoraan, esimerkiksi hotellin Wi-Fi-verkossa tai joissakin matkapuhelinverkoissa, ja puhelu kierrätetään välityspalvelimen kautta. Välityspalvelin siirtää salattuja paketteja, joita se ei voi avata, mutta se kyllä näkee, että kaksi nimetöntä tunnistetta olivat yhteydessä, milloin, kuinka kauan ja mistä osoitteista. Nämä ovat metatietoja, joita me emme säilytä, ja jotka ovat siis jonkun muun hallussa.
-
Me
Yllä oleva taulukko. Yksi pieni palvelin Alankomaissa, joka esittelee kaksi puhelinta toisilleen ja siirtyy sitten syrjään.