Smíðað í ESB, og hvar gögnin þín eru geymd
Hvar Nessie er smíðað, hvar gögnin þín eru geymd og hvað þú stjórnar þegar þú hýsir það sjálfur.
Hver smíðar Nessie og eftir hvaða lögum
Nessie er smíðað af UnlikeOtherAI s.r.o., fyrirtæki sem er skráð í Tékklandi og starfar samkvæmt tékkneskum lögum.
Þessi síða lýsir því hvernig hugbúnaðurinn er smíðaður og hvar hann keyrir. Hún er ekki yfirlýsing um samræmi við reglur: Nessie hefur enga öryggisvottun og ekkert hér ber að skilja sem slíka. Hvaða persónuupplýsingar eru unnar og á hvaða grundvelli er efni persónuverndarstefnunnar, sem er sérstök síða.
Hvar hýsta varan keyrir
Nessie Cloud keyrir hjá evrópskum hýsingaraðilum — Scaleway, Hetzner og fleirum. Við veljum bestu þjónustuna hjá hverjum aðila, þannig að mismunandi hlutar vörunnar geta keyrt hjá mismunandi aðilum, allir í Evrópu.
Nákvæmari upplýsingar en þetta — tiltekin starfsstöð, borg eða gagnaver — eru vísvitandi ekki gefnar hér, því að þær myndu úreldast án þess að nokkur tæki eftir.
Með eigin hýsingu ræður þú valinu
Hvar sjálfhýst uppsetning keyrir er stilling í uppsetningunni, ekki stilling í vörunni. Einföldust er uppsetning á einni vél: Docker Compose-stafli sem þú setur upp á vél að eigin vali. Í Terraform-trénu fyrir stýrða skýjaþjónustu er svæðið inntak án nokkurs sjálfgefins gildis: ekkert þar er hægt að giska á, svo ekkert þar hefur sjálfgefið gildi, og gagnagrunnurinn, hlutageymslan og þjónusturnar fylgja allar því svæði sem þú nefnir.
Tvö atriði í uppbyggingunni skipta máli fyrir sömu spurningu. Biðröðin og rauntímaflutningurinn eru bæði PostgreSQL — það er enginn Redis og enginn skilaboðamiðlari á leiðinni, svo það er ekkert þriðja kerfi sem þarf að finna stað. Og hlutageymslan er S3-samhæf frekar en bundin einum söluaðila; viðmiðunaruppsetningin keyrir MinIO í gámi á einkaneti án eigin aðgangs utan frá. Það sem þarf að hafa einhvers staðar er gagnagrunnurinn, hlutageymslan og þjónusturnar tvær í Node, og þetta allt er þar sem þú setur það. Hvernig þetta er sett upp er útskýrt á uppsetningarsíðunni.
Hvað Nessie geymir — og hvað það geymir vísvitandi ekki
Auðkenni eru ekki afrituð
Með innskráningu í gegnum UnlikeOtherAI stýrir og geymir auðkennisveitan auðkenni fólks — auðkenningarþætti, prófíla, aðild að stofnunum og teymum og boð. Nessie er treystandi aðili, ekki annað auðkenniskerfi. Þetta er jafnmikið gagnaákvörðun og hönnunarákvörðun: auðkenni sem Nessie geymir aldrei er auðkenni sem Nessie getur hvorki lekið, glatað né látið hjá líða að eyða.
Taflan users geymir í raun stöðugt notandakenni veitunnar — lykilinn sem allt annað leysist í gegnum —, netfangið, ófullgilda speglun á birtingarnafni og mynd, og staðbundna reiti vörunnar (stillingar, persónufornöfn, útgáfunúmer tákns sem notað er til að afturkalla innskráningar). Spegluninni er aðeins ætlað að gera kleift að sýna nafn og mynd án fyrirspurnar fyrir hverja röð, og hún er uppfærð úr staðfestum fullyrðingum veitunnar við innskráningu, við teymisskipti og við endurnýjun innskráningar. Ekkert gildi er búið til: manneskja sem veitan hefur ekki nefnt ber netfang sitt þar til hún er nefnd. Samantekt lykilorðs (hash) er aðeins til fyrir upphafseiganda uppsetningar sem hefur enga auðkennisveitu.
Hið sama gildir um uppbyggingu. Ein stofnun hjá veitunni er ein stofnun í Nessie, bundin við auðkenni stofnunarinnar hjá veitunni; teymi án tengingar við veituna svarar 404 TEAM_NOT_LINKED í stað þess að falla aftur á staðbundna ágiskun, og bein lesning á félagatali fer til auðkennisveitunnar og vistar ekkert.
Tvær speglanir eru ekki horfnar enn, og það væri óheiðarlegt að gefa annað í skyn. Nöfn stofnana og teyma eru enn geymd staðbundið við hlið tengiauðkennanna, og staðbundnar aðildarfærslur heimila enn venjulegar beiðnir milli samstillinga. Að fjarlægja hvort tveggja er skráð verkefni í vinnslu í hugbúnaðarsafninu, ekki eitthvað sem er þegar lokið.
Ekkert viðskiptalegt
Miðlæga innheimtuþjónustan sér um greiðslur. Nessie geymir engan viðskiptavin hjá greiðsluveitu, enga áskrift, reikning, verð, inneign, reglu um áfyllingu, greiðslusamþykki, yfirlit eða stöðu uppsagnar, og reiknar ekki út gjaldskrár. Það les gildi sem eru tilbúin til birtingar og sýnir þau.
Leyndarmál
Stillt hvelfing er skilyrði þess að hægt sé að geyma leyndarmál yfirleitt. Það er vísvitandi enginn varakostur í gagnagrunni og engin leið í glærum texta: án hvelfingar skila vistun, endurnýjun og afturköllun leyndarmáls villu í stað þess að falla niður í eitthvað óöruggara. Skrár Nessie sjálfs um leyndarmál geyma ekkert gildi, engan dulmálstexta, engan lykil og ekkert hvelfingartákn — aðeins ógagnsæja tilvísun og lýsigögn hennar — og slóðir í hvelfingunni eru aðeins byggðar úr uppbyggingarauðkennum, aldrei úr nafni stofnunar, teymis, verkefnis eða manneskju.
Aðgangsgögn sem Nessie þarf sjálft að geyma til að starfa sem OAuth-biðlari — aðgangsgögn tenginga og pósthólfa, leyndarmál vefkróka, gögn til endurnýjunar innskráningar, gögn fyrir keyrsluumhverfi — eru innsigluð í AES-256-GCM-umslögum sem eru bundin tilgangi, undir útgáfustýrðum lyklahring sem er sérstök rót frá undirritunarleyndarmáli innskráninga, með skjalfestu verklagi um endurnýjun lykla.
Það er líka regla um líkön: leyndarmál má vera vitað að sé til og má vera heimilað til notkunar, en efni leyndarmáls má ekki rata inn í samhengi líkans, fyrirmæli, rök verkfæra, niðurstöður verkfæra, minni, vigra, leit, annála eða skilaboð. Fulltrúa má veita heimild til að nota leyndarmál. Hann getur aldrei fengið heimild til að birta það.
Hvort undirliggjandi diskar eru dulkóðaðir ræðst af vélinni sem uppsetningin keyrir á. Hugbúnaðarsafnið tryggir ekki dulkóðun á disksneiðum fyrir gagnagrunn og hlutageymslu, og því heldur þessi síða því ekki fram.
Einangrun leigjenda
Nessie er hannað fyrir marga leigjendur: einn gagnagrunn þar sem hver röð tilheyrir nákvæmlega einni stofnun og hver undirtafla ber dálkinn organization_id. Einangrun er tryggð á tveimur stöðum — í skilyrðinu um umdæmi sem hver fyrirspurn ber, og í raunverulegum fyrirvísunarlyklum á þeim dálki, sem bætt var við með fjörutíu og tveimur skorðum eftir að innri úttekt leiddi í ljós að dálkurinn var til staðar en án skorða í tugum taflna.
Samræmisprófanir halda þessari reglu föstum á HTTP-mörkunum. Þær búa til árásaraðila með hámarksréttindi — fullan eiganda í sinni eigin stofnun — og staðfesta að hver hefðbundin lesning á gögnum annarrar stofnunar svari 403, 404 eða tómu, og að hverri hefðbundinni breytingu sé hafnað án þess að röð hinnar stofnunarinnar haggist. Þær ná yfir rásir, samþykktir, úttektarskrána, kveikjur, fulltrúa og tengingar þeirra, keyrslur, verk, þræði, tengingar, uppsetningar vinnuflæðis, MCP-tilvik, þekkingargrunninn og tilkynningar.
Til að vera nákvæm um fyrirkomulagið: þetta er framfylgd á forritsstigi ásamt fyrirvísunarlyklum, ekki raðstigsöryggi í PostgreSQL (row-level security). Það er engin RLS-regla og enginn varnarveggur í gagnagrunninum, og samræmisprófanirnar keyra á trúverðugri geymslu í minni frekar en lifandi gagnagrunni, svo þær sanna skilyrðin sem kóðinn skrifar en ekki SQL-ið sem þjónn keyrir. Hugbúnaðarsafnið segir þetta í skjölum prófananna sjálfra, og það gerir þessi síða líka.
Úttektarslóðin
Hver afdrifarík aðgerð er skráð: hver framkvæmdi hana og í hvaða hlutverki — manneskja, fulltrúi, þjónusta —, hvað var gert, við hvaða auðlind, í hvaða stofnun, verkefni, teymi eða rás, hvort það tókst eða var hafnað, hvers vegna, og auðkenni beiðninnar, vistfangið og notandaforritið sem hún kom með.
Skráin er eingöngu viðbótarskrá samkvæmt hönnun og engin leið er til að skrifa í hana utan frá: POST /api/audit-log er ekki til, og það er vísvitandi. Færslurnar eru tengdar í keðju — hver ber SHA-256-samantekt á eigin stöðluðum reitum ásamt samantekt fyrri færslu fyrir stofnunina — svo breytt eða fjarlægð röð rýfur keðjuna og það er hægt að greina. Eigandi eða stjórnandi stofnunar getur gengið keðjuna hvenær sem er og fær að vita hvar hún rofnaði fyrst, ef hún gerði það.
Tveir heiðarlegir fyrirvarar. Keðjan gerir skrána sýnilega ef átt er við hana, ekki ónæma fyrir því: það er engin afturköllun skrifréttinda á gagnagrunnsstigi og engin geymsla sem má aðeins skrifa í einu sinni að baki henni, svo tryggingin felst í uppgötvun, ekki fyrirbyggingu. Og færslur eru geymdar ótímabundið sjálfgefið — stillanleg varðveisla með útflutningi áður en eytt er er hönnuð, ekki smíðuð. Færslum er einnig bannað að innihalda leyndarmál eða fullan texta beiðna, og fast safn viðkvæmra heita á lýsigagnareitum er hulið við innskráningu í skrána.
Kostnaðarbókin
Hvert kall á líkan er skráð á stofnunina, og á notandann, teymið, verkefnið, rásina, fulltrúann og keyrsluna sem það kom frá, með þeim táknum sem það notaði og bæði kostnaðinum sem veitan tilkynnir og eigin mati Nessie hlið við hlið. Mælikvarði sem veitan tilkynnir ekki er geymdur sem null í stað þess að vera giskað á. Eigandi eða stjórnandi stofnunar getur lesið skýrslurnar.
Þessi bók er rekstrarmælingar — hvað stofnun eyddi og fyrir hvers hönd. Hún er ekki reikningur og ekki innheimtuheimild.
Þriðju aðilar þegar þú notar hýstu vöruna
Hýst uppsetning talar við lítið, fast safn þjónusta. Umferð líkana og vefleit fer ekki beint til veitna: hvort tveggja fer út um eina gátt sem UnlikeOtherAI rekur, og þar eru líkana- og leitarveiturnar að baki. Innskráning og innheimta fara til auðkenningarþjónustu UnlikeOtherAI. Leyndarmálahvelfingin er sjálfhýst við hlið forritsins. Myndsímtalstenglar sem þjónninn býr til nota sjálfgefið opinberu Jitsi-þjónustuna.
Nær allt annað er slökkt þar til rekstraraðili stillir það, og segir frá því frekar en að bila þegjandi: tengdir Google-, Microsoft- og Slack-reikningar; tölvupóstur fulltrúa í gegnum Amazon SES, sem uppsetning rekur í eigin reikningi án milliliðar; ýtitilkynningar í síma og vafra; tengingar við rannsóknir og verkefnaveitur; skýjavafrar. Tvö atriði er vert að nefna því þau breyta því hvert gögn fara:
- Tengd pósthólf haldast hjá þinni veitu. Póstur er lesinn beint frá veitunni þinni, yfir IMAP og SMTP eða innskráningu veitunnar sjálfrar; Nessie geymir innsiglað aðgangsgagn og ekkert annað um reikninginn. Pósthólf sem þú tengir við Clients-pósthólfið er undantekning: þú ert að biðja um að samtölin séu geymd með hverjum viðskiptavini, og því eru þau afrituð inn.
- Símtöl í forritinu fara ekki í gegnum Nessie. API-ið útvegar aðgangsgögn og biðlarinn opnar hljóðtenginguna sjálfur. Upptaka með raddinnslætti og símtöl í síma eru önnur saga: hljóðið fer í gegnum Nessie til tal- og líkanaveitnanna sem vinna úr því.
Eitt atriði í ályktunum fylgir sömu meginreglu: undirrituð auðkennishaus um þann sem kallar eru aðeins send til stillts spjallþjóns, svo að þótt vigrar séu sendir á annan endapunkt fær sá endapunktur aldrei umboðsfullyrðingu um þann sem á textann sem verið er að vigra.
Hýsta varan notar nokkrar ályktunarveitur og velur á milli þeirra eftir kostnaði og gæðum. Stofnun mun geta valið í stjórnborðinu hvaða veitur fulltrúar hennar mega nota: aðeins vestrænar, aðeins evrópskar, aðeins kínverskar, eða engin ósk — hagkvæmasta veitan fyrir hvert verk. Sjálfhýst uppsetning velur sjálf.
Ef reksturinn er í þínum höndum breytist allt þetta
Hver þriðji aðili hér að ofan er stillingarval í sjálfhýstri uppsetningu. Hægt er að beina ályktunum á hvaða OpenAI-samhæfðan endapunkt sem er, einnig einn á þínum eigin vélbúnaði. Tengingarnar eru slökktar nema þú kveikir á þeim. Innskráning með UnlikeOtherAI er studda leiðin, og uppsetning án nokkurrar auðkennisveitu keyrir sem ein ótengd stofnun með upphafseiganda.
Það er allur tilgangur fyrirkomulagsins: hugbúnaðurinn er sá sami, og ákvarðanir um hvar hann keyrir og hverju hann má ná til eru í höndum þess sem rekur hann. Á uppsetningarsíðunni er útskýrt hvernig.