Vaše budova
Běží uvnitř vaší firmy.
Vaše identita, vaše úložiště, vaše síť. Nic z toho nemusí opustit vaši infrastrukturu — včetně těch částí, které to obvykle dělají.
01
Váš identity provider
Přihlášení jde přes adresář, který už provozujete. Napojení se nastavuje pro každou organizaci zvlášť a mapování skupin na role se použije při každém přihlášení znovu — odebrání přístupu v adresáři tedy platí i tady.
- OIDC — proti Entra, Keycloaku nebo Oktě — jedno napojení na organizaci, s vlastní kontrolou stavu.
- Znovu při každém přihlášení — mapování skupin na role není jednorázový import, který se časem rozejde; počítá se při každém přihlášení.
- Adresa issueru se vytáčí opatrně — issuer URL zadává někdo zvenčí, takže ve výchozím stavu musí vést na veřejnou adresu. Identity provider uvnitř vaší sítě — a tedy i jednotné přihlášení v air-gapped instalaci — funguje, jakmile provozovatel povolí jeho adresu a napojení sám uloží, čímž se za něj zaručí. Certifikát od vaší interní certifikační autority se přijme, jakmile ji provozovatel přidá, a to jen pro jednotné přihlášení.
- Nastavení nasazení patří provozovateli — mailer, nárokování e-mailové domény pro jednotné přihlášení, zapnutí vynuceného jednotného přihlášení tam, kde lze domény nárokovat, záruka za identity providera uvnitř vaší sítě a povolení, aby do této sítě sahal issue tracker nebo AI endpoint, se týkají celého nasazení, takže je mění jen provozovatel: platformní admini instalace a, pokud provozovatel takovou organizaci určí, také admini organizace, která instalaci provozuje. Zbytek napojení zůstává adminům dané organizace.
02
Čtyři role, v žebříčku
Role platí na úrovni workspace a jsou seřazené, takže vyšší pokrývá všechno, co umí nižší. Žádná matice zaškrtávátek, ve které se dá udělat chyba.
- Owner, admin, member, viewer — v tomto pořadí — každá kontrola se ptá, jestli vaše role je aspoň ta požadovaná.
- Členství platí pro workspace — člen se dostane jen do workspaců, do kterých byl přidán; vlastníci a admini organizace do všech.
- Místa jsou na úrovni organizace — a místo je členství, ať má jakoukoli roli. Pozvaný viewer jedno zabírá.
- Kdo jen otevře odkaz, ne — nástěnka je URL: tester, který ji otevře, zakroužkuje oblast a napíše větu, se členem nikdy nestane — a místo tedy nezabere.
03
Váš bucket
Jediný Go binárník se SQLite uvnitř pro metadata a vaše vlastní úložiště pro soubory. Jeden compose soubor, jeden volume a schéma se při startu migruje samo.
- Jakékoli S3 — Hetzner, MinIO, AWS — nebo prostě lokální disk. Před S3 sedí NVMe cache, u lokálního disku se vynechá, ten je lokální už sám o sobě.
- Klíče držíte vy — z vašeho úložiště neodejde nic, dokud se tak nerozhodnete.
- Jeden binárník — SQLite je uvnitř, takže úložiště metadat není další věc k provozování a zálohování.
- Teplá záloha — druhý server může čekat v záloze za zápisovou pojistkou a stroj, který pojistka nejmenuje, odmítne naběhnout jako zapisující — dva zapisující servery nejsou z principu možné.
04
Vaše klíče
Každý workspace má vlastní datový klíč, zabalený klíčem pro šifrování klíčů, který držíte vy — v prostředí, nebo v transit enginu OpenBao či Vault na samostatném stroji — a pokaždé, když se klíč workspace otevře, zapíše se to do auditní stopy.
- Rotace a skartace — klíč pro šifrování klíčů se rotuje přebalením klíčů workspaců, nikdy přešifrováním dat. Skartace workspace zničí jeho klíč, takže jeho soubory, cache i každá záloha pořízená potom jsou nečitelné.
- Kontrola za běhu — klíč každého otevřeného workspace se v pravidelném intervalu znovu rozbalí, takže zneplatněný nebo vyměněný klíč přestane sloužit během minut, ne až po restartu.
- Zapečetěné zálohy — archiv zálohy je zapečetěný vaším klíčem pro šifrování klíčů a obnoví se jen do prázdného adresáře, nikdy přes běžící instalaci.
- Skenované a maskované — s nastaveným démonem clamd se každé nahrání před uložením proskenuje a při neúspěšném skenu odmítne. Záznamy maskuje rekordér a pak ještě jednou server a smazané sessions se po vámi nastavené lhůtě vyčistí nadobro.
05
Air-gapped
Jedna proměnná prostředí je hlavní vypínač pro každé volání, které by produkt jinak poslal do veřejného internetu. Je to vypínač, ne slib — proto je seznam toho, co vypne, dost krátký na přečtení.
- AIR_GAP=1 — vyprázdní každou integraci, která míří do veřejného internetu: poskytovatele e-mailů, Telegram, GitHub (aplikaci, token i přihlášení), kanál Eve a spravovanou AI, Plane, Stripe, web push, kontrolu Have I Been Pwned, náhledy odkazů, Sentry a export trasování. Přihlášení zůstává uvnitř také: jednotné přihlášení dosáhne jen na poskytovatele identity ve vaší síti a AI klienti se registrují bez dokumentu metadat staženého zvenku.
- Vaše vlastní endpointy zůstávají — S3, SMTP, capture sidecar i přepis schůzek jsou vaše vlastní služby, takže fungují dál a zvuk ze schůzek vaši síť nikdy neopustí. Konektory issue trackerů, třeba interní Jira, i AI backend nebo endpoint modelu ve vaší síti se omezí na interní adresy, nevypínají se, a fungují, jakmile je uloží provozovatel.
- Firewallu není co vysvětlovat — smysl vypínače je auditovaný log, ve kterém není jediný nevysvětlený odchozí požadavek.
06
Licence je soubor
Oprávnění je podepsaný soubor na disku, ne volání domů. Není tu žádný licenční server, který by ve tři ráno nešel.
- Podepsaná, ne dotazovaná — podpis Ed25519 nad obsahem — zákazník, tier, počet míst, oprávnění, datum vydání a expirace a příznak air-gapped instalace — ověřený přímo na vašem serveru proti klíči dodavatele zabudovanému v každém vydání.
- Chybějící znamená bez omezení — žádný soubor neznamená zamčený produkt. Soubor, který je přítomný a neověří se, shodí start hlasitě — místo tichého degradování.
- Čtrnáct dní odkladu — po expiraci instalace ještě čtrnáct dní běží dál pod banerem; pak pozastaví zápisy, dokud nenainstalujete obnovený soubor, a čtení i přihlášení fungují dál.
07
Co se zaznamenává
Události, na které se ptá auditor, se zapisují ve chvíli, kdy nastanou — včetně toho, kdo je vyvolal a čeho se týkaly.
- Přístup — přihlášení i odmítnutá přihlášení, nouzové přístupy, pozvání, příchody, odebrání a změny rolí členů, změny passkeys a hesel, zrušené relace.
- Přihlašovací údaje a klíče — vydání a zneplatnění API tokenů i tokenů agentů, udělení a odvolání připojených aplikací, vytvoření a zrušení sdílených odkazů, rozbalení, skartace a obnova klíčů workspaců.
- Struktura — vznik, pozastavení a změny nastavení workspaců; změny tarifu, jednotného přihlášení a e-mailového nastavení.
- Export, který prozradí každý zásah — instalace na vlastním serveru umí log exportovat jako řetězené, podepsané dávky do adresáře s jednorázovým zápisem nebo do bucketu s Object Lock, které datový server nedokáže přepsat.