Zichtbaarheid is een clausule in de query
Elke leesactie wordt in de query zelf ingeperkt tot wie de vraag stelt, niet achteraf in code, zodat een feit, samenvatting of passage die u niet mag zien nooit wordt samengesteld en nooit meegeteld. Wie we niet kunnen identificeren, ziet alleen wat openbaar is — nooit de weergave van een beheerder — en niets wat iemand in een verzoek zet, kan dat verruimen.
Een afgeleid feit erft zijn smalste invoer
Als het geheugen één zin uit vijf documenten schrijft, zien alleen mensen die alle vijf mogen zien die zin: bronnen combineren kan rechten alleen versmallen, nooit verruimen. En waar de rechten van een bron niet te lezen zijn, valt de connector terug op een smaller publiek — het account dat het document ophaalde — en niet op het hele kantoor.
Een verwijzing kan alleen binnen het bewijs wijzen
Elke bronvermelding wordt opgelost tegen de gesloten verzameling passages die de engine zelf aan het model voorlegde, dus een verwijzing naar een passage die niet bestaat, kan niet blijven staan. Als u een vraag stelt, kiest het model uit labels die de engine terugvertaalt in plaats van zelf een locatie te noemen, en alles waarop u kunt klikken opent een echte passage uit het bewijs dat onder uw rechten is verzameld.
Het geheugen van je kantoor is geïsoleerd
Eén databaseschema en één object-storageprefix per kantoor: geen gedeelde tabel bevat de documenten, feiten of passages van een klant. De enige tabellen die alle kantoren delen zijn account-, facturatie- en sessiegegevens, en geen daarvan bevat iets wat het geheugen heeft geleerd. Wilt u dat de database zelf de grens bewaakt, dan kunnen de queries van een kantoor draaien als een rol die alleen rechten heeft op het eigen schema — verplicht op onze gehoste dienst, en beschikbaar en standaard uit op een implementatie die u zelf draait, als tweede laag achter de schemagrens. Een kantoor waarvan de rol ontbreekt, wordt geweigerd, nooit via een gedeelde bediend.
Uitgaand bereik wordt verklaard, niet ontdekt
De egress-allowlist bevat standaard het modelendpoint en verder niets. Er is geen telemetrie en geen updatecontrole om uit te zetten, omdat geen van beide ooit is gebouwd, en het licentiebestand is informatief: er wordt niets bij ons gecontroleerd. Componenten weigeren te starten als hun configuratie de lijst tegenspreekt, en de netwerkhandhaving is uw firewall. Dit geldt voor een implementatie die u zelf draait, niet voor de gehoste dienst. Maak de lijst leeg en er gaat niets meer naar buiten, ook niet naar het model, dus er wordt niets nieuws gelezen; zoeken rangschikt dan op trefwoorden over wat al gelezen is.
Het archief groeit alleen
Elke observatie, elk feit, elke correctie en elke intrekking is een regel in een logboek dat nooit wordt herschreven — een correctie is een nieuwe regel, en de oude blijft leesbaar. Alles wat u op een pagina leest, is van dat logboek afgeleid en wordt opnieuw opgebouwd door het af te spelen, niet ter plekke gerepareerd.
Uw sleutels blijven van u
Modelgegevens worden in rust versleuteld onder de sleutel van uw eigen implementatie, één versleutelde tekst per kantoor, en verwijderd wanneer het kantoor dat wordt. Met single sign-on bereikt de gateway uw identiteitsprovider en die van niemand anders. Alleen extractie en uitgeschreven antwoorden hebben een bereikbaar model nodig — alles wat al gelezen is, blijft zonder model doorzoekbaar.