vitrinka.docs
Bezpečnost

Úložiště a nájemci

Oddělení dat jednotlivých workspaců, souborové a objektové úložiště, cache a kontrola malwaru.

Jeden workspace, jeden soubor, jeden prefix

Každý workspace je vlastní SQLite databáze pod DATA_DIR a vlastní prefix klíčů v úložišti blobů. Oddělení je fyzické, ne klauzule WHERE: neexistuje sdílená tabulka, kterou by dotaz překročil. Řídicí databáze drží organizace, členství, tokeny, zabalené klíče workspaců a auditní stopu — nikdy obsah workspace.

Servisní nebo agentní token se razí pro jeden workspace a při předložení jinému je odmítnutý. Osobní token a OAuth oprávnění AI klienta naopak jednají za svou osobu: každý požadavek se přepíše na rozsah workspace, kterému je určený, ověří proti aktuálnímu členství té osoby v něm a stropuje na roli člena, takže token nikdy nenese víc, než by neslo členství dané osoby.

Server drží fond otevřených handlerů nájemců (VITRINKA_TENANT_POOL_MAX, výchozí 64); workspace se otevírá při prvním použití a jeho klíč se v tu chvíli rozbalí.

Backendy pro bloby

BLOB_BACKENDKde bloby ležíPoznámky
fs (výchozí)DATA_DIR/blobsJeden svazek drží všechno; zálohujte ho spolu s databázemi.
s3Bucket pojmenovaný S3_BUCKET na S3_ENDPOINTVšech pět proměnných S3_* je povinných a ověřují se při startu; bucket se založí, pokud chybí.

V obou případech se každý objekt zapisuje zapečetěný klíčem workspace (Šifrování). U S3 je průchozí cache pod DATA_DIR/blobcache (BLOB_CACHE_MAX_GB, výchozí 20, 0 vypíná) předehřátá při startu a mazaná od nejstaršího; její položky jsou stejný šifrovaný text, jaký drží bucket.

Limity velikosti

MAX_SET_MB (výchozí 200) stropuje tělo požadavku i rozbalenou velikost publikované sady. Dekódování obrázků a dokumentů je hlídané limitem, takže dekompresní bomba je odmítnutá, ne rozbalená.

Kontrola malwaru

S nastaveným CLAMD_ADDR se každý zápis blobu před uložením kontroluje pomocí clamd. Pokud skener neodpoví, zápis se odmítne. CLAMD_MAX_MB (výchozí 100) omezuje velikost kontrolovaného souboru; větší soubory se odmítají. Bez CLAMD_ADDR se kontrola neprovádí.

Hostovaná služba má sidecar clamd napevno v compose. Vlastní instalace, která chce stejný postoj, provozuje vlastního démona ve stejné síti — adresa je jediná konfigurace.

Na této stránce