rilo
Rilo-maskottikettu seisoo kilven vieressä, jossa on riippulukko

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.

accounts säilytetään kunnes poistat sen
  • 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ä
Tilirivisi pysyy kunnes poistat sen, ja poistaminen sovelluksessa vie tämän rivin ja kaiken siihen liittyvän mukanaan. Teemme työtä sen eteen, että Rilon käytön kokonaan lopettaneet perheet siivotaan pois. Ennen kuin se on päällä, mikään täällä ei katoa itsestään.
server_state säilytetään
  • keymitä muistetaan
  • valueja mitä siinä sanotaan
Ainoa taulu täällä, joka ei koske perhettäsi lainkaan. Tänään siinä on yksi asia, hetki jolloin tämä palvelimen versio käynnistyi ensimmäisen kerran. Jokainen kysymys siitä, kuka on hiljentynyt, mitataan siitä hetkestä, joten tietokantaa joka on kirjoitettu ennen kuin osasimme kertoa, ei voi koskaan lukea kuukausien hiljaisuutena.
guardians säilytetään
  • account_id
  • guardian_keyavain, joka saa toimia tämän lapsen puolesta
  • added_at
  • removed_at
Poisto merkitään, ei pyyhitä. Kontaktit tarkistetaan sitä vasten, kuka oli huoltaja kontaktin allekirjoitushetkellä, joten tililtä lähtevä vanhempi ei katkaise vaivihkaa jokaista ystävyyttä, jonka on koskaan hyväksynyt.
devices säilytetään
  • 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
Puhelimet ja tabletit, joista yksi ihminen puhuu. Se kertoo, montako laitetta perheessäsi on, eikä yhtään mitään siitä, kenen kanssa juttelet, sen enempää kuin kaksi ylempää taulua. Puhelin päästetään sisään listalla jo olevan laitteen allekirjoituksella, ei koskaan meidän toimestamme, ja se allekirjoitus säilytetään tässä, jotta mikä tahansa puhelin voi tarkistaa sen eikä joudu uskomaan listaa. Puhelimen poistaminen käytöstä merkitsee rivin sen sijaan että pyyhkisi sen, samasta syystä kuin lähtevä aikuinen merkitään. Kaiken, minkä se allekirjoitti sinun aikanasi, on pysyttävä tarkistettavissa.
push_tokens säilytetään
  • account_id
  • device_keyminkä puhelimistasi tämä saa soimaan
  • platformapns tai fcm
  • tokenmerkityksetön tunniste Applelta tai Googlelta
  • updated_at
Yksi laitetta kohden, jotta puhelu saa nukkuvan puhelimen soimaan. Push-ilmoituksessa ei ole nimeä eikä sisältöä.
used_nonces siivotaan
  • nonce
  • expires_at
Lista jo käytetyistä kertanumeroista, jotta siepattua pyyntöä ei voi toistaa. Poistetaan heti kun se vanhenee.
denied_edges siivotaan
  • edge_hashtiiviste parista, ei kahdesta ihmisestä
  • denied_at
  • expires_at
Kun aikuinen sanoo ei esittelylle, tämä muistaa kiellon kolme päivää, jottei toisen vanhemman puhelin, joka oli silloin sammutettuna, voi vahingossa viedä sitä loppuun. Uusi lukukerta samojen perheiden välillä tyhjentää sen aiemmin. Ei nimiä, ei avaimia, vain tiiviste ja kaksi päivämäärää.
pending_grants siivotaan
  • 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
Tämä on ainoa paikka, jossa palvelimella on mitään sosiaalista verkostoa muistuttavaa, ja sitä on vain niin kauan kuin esittely on kesken. Kukaan ei vastannut 72 tunnissa, ja se raukeaa. Vastattiin, mutta puhelin jolle se oli tarkoitettu ei koskaan tullut verkkoon, 30 päivää. Kun molemmilla puhelimilla on valmis kontakti, rivi poistetaan. Siksi tällä sivulla ei ole kontaktitaulua. Kontaktitaulua ei ole.
messages poistetaan perillä
  • 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
Puhelin on suurimman osan päivästä sammutettuna, ja viesti joka katoaa hiljaa on rikkinäinen tuote. Siksi sinetöity laatikko odottaa tässä, enintään 30 päivää, ja se poistetaan sillä hetkellä kun vastaanottaja vahvistaa saaneensa sen. Me emme voi avata yhtäkään.
revocations säilytetään
  • edge_hashpari tiivisteenä
  • revoked_at
  • recordallekirjoitettu merkintä, jotta verkon ulkopuolella ollut puhelin voi tarkistaa katkaisun itse eikä joudu luottamaan sanaamme
Ainoa asia, jota säilytämme rajattomasti. Se kirjaa, että kontakti katkaistiin, olematta luettava lista siitä, kuka tunsi kenet.
roster_changes säilytetään
  • 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
Ne kaksi yötä sen välillä, kun joku allekirjoittaa muutoksen lapsen aikuisiin, ja kun se muutos on totta. Perheeseen liittyvä puhelin, tai ulos heitettävä, odottaa tässä, missä jokainen muu tilin puhelin näkee sen ja voi vastustaa. Rivi jää senkin jälkeen kun asia on ratkennut, koska sammutettuna olleen puhelimen on pystyttävä tarkistamaan mitä tapahtui eikä luottamaan sanaamme. Siinä on tili ja asianosaiset avaimet, mikä on enemmän kuin useimmissa tauluissa täällä.
roster_change_votes säilytetään
  • change_idmikä odottava muutos
  • voter_keymikä aikuinen
  • decisionpäästä läpi vai pysäytä
  • recordhänen allekirjoituksensa
  • at
Yksi rivi aikuista kohden eikä laskuria. Lapsen aikuisten enemmistö voi päättää kahden yön odotuksen aiemmin, ja se onko enemmistö olemassa on kysyttävä uudelleen niiltä aikuisilta jotka nyt ovat. Lähtenyt ihminen ei ole ääni, eikä laskuri tietäisi sitä.
device_revocations säilytetään
  • account_idkenen puhelin se oli
  • device_keyavain joka varastettiin
  • revoked_at
  • recordallekirjoitettu todiste, jotta puhelin voi tarkistaa sen meiltä kysymättä
Varastettu puhelin, ja ero tämän ja käytöstä poistamisen välillä. Käytöstä poistaminen tarkoittaa, että se ei enää tästä lähtien voi toimia, ja se on oikea vastaus puhelimelle jonka joku vaihtoi. Tämä tarkoittaa, että kaikkea mitä se on koskaan allekirjoittanut on epäiltävä, ja muiden puhelimien on pystyttävä tarkistamaan se meiltä kysymättä. Vain varkaus saa rivin.
retirements säilytetään
  • account_idtili joka on poissa
  • retired_at
  • recordallekirjoitettu todiste, tehty tilin omalla avaimella ennen kuin avain hävitettiin
Lista poissaoloista, ja hyvä uutinen on toinen sarake. Kun joku lähtee Rilosta, hänen ystäviensä puhelimet saavat allekirjoituksen, joka on tehty tuon ihmisen omalla avaimella. Perhe saa tiedon lähdöstä todisteesta, ei siitä että me niin sanomme. Mikään, mitä sanoisimme omin päin, ei voi poistaa kasvoja lapsesi näytöltä. Se on täällä ainoa taulu, jossa ei ole viittausta takaisin tiliin, koska sen on elettävä pidempään kuin sen tilin, jota se koskee.
entitlements säilytetään
  • 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
Mikään täällä ei yksilöi ihmistä: ei kauppatiliä, ei Apple ID:tä, ei Google-tiliä, ei nimeä, ei sähköpostia, ei korttia. Se, mitkä lapset maksu kattaa, päätellään huoltajataulusta kysymishetkellä eikä koskaan kirjoiteta muistiin.
roster_notices siivotaan
  • 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
Jono, ja syy siihen että puhelimen lisääminen tai poistaminen tapahtuu ääneen. Jokainen perheen puhelin saa siitä tiedon, ja lapsen kohdalla myös jokainen hänestä vastaava aikuinen, mukaan lukien juuri poistettu puhelin. Näin se, jolla puhelinta ei kuuluisi olla, huomaa että sinä huomasit. Ilmoituksessa ei ole mitään, mitä muutoksessa itsessään ei ole, ja se poistetaan vanhentuessaan riippumatta siitä saimmeko sen perille.
reports säilytetään
  • 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
Täällä ainoa taulu, joka on olemassa saadakseen jotakin tapahtumaan. Suurin osa ilmoituksesta sinetöidään lähettävässä puhelimessa, emmekä me voi avata sitä. Luettavaksi jää se, ketä se koskee, koska ilmoitus jolle kukaan ei voi tehdä mitään ei ole mikään suoja. Se jää voimaan senkin jälkeen, kun tili jota se koskee on poissa. Muuten kuka tahansa voisi poistaa itsensä ilmoituksen ulottuvilta. Siinä ei ole tallennetta yhdestäkään puhelusta, ei täällä eikä missään, koska niitä ei koskaan tehdä.

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.