Ga naar hoofdinhoud

Veiligheidsgaranties

De regel van Plainwater AI: een garantie is pas een garantie als er een test op staat. Hieronder staat wat het platform belooft, in gewone taal. Elke belofte op deze pagina wordt bij elke wijziging van het platform automatisch getest.

Wat een agent nooit krijgt​

  • Geen sleutel van een modelleverancier. Een agent praat met modellen via de AI-poort, nooit rechtstreeks.
  • Geen wachtwoord van een klantdatabase. Een agent krijgt alleen een eenmalige opstartcode waarmee hij zich bij het platform meldt. Verbinden met een bron doet het platform zelf.
  • Geen vrije toegang tot internet. Agents draaien in geïsoleerde containers. Uitgaand verkeer loopt via een allowlist.

Elk modelverzoek, één besluit​

Elk verzoek aan een model krijgt precies één beleidsbesluit. Een geweigerd verzoek bereikt de leverancier niet. Regels zijn handhaving in de poort en geen instructie in de prompt: een model kan ze niet "vergeten". Ingebouwde tools van de leverancier die buiten het platform om zouden werken, worden uit het verzoek gehaald.

Geen rijen in de stand "alleen metrics"​

Staat een bron op alleen metrics, dan antwoorden de leestools met metadata, tellingen en aggregaten. Ze geven geen rijen, geen losse waarden en geen businessgegevens terug. Tellingen onder tien worden "<10". De testdatabase bevat herkenbare markerwaarden, en een test roept elke leestool aan en bewijst dat geen enkele marker in de uitvoer terechtkomt.

Een naam is ook data​

Bij een klant met echte data gaan tabel- en kolomnamen als pseudoniem naar het model. Zie pseudonimisering. Elk tekstveld in elke toolaanroep heeft een vastgelegde betekenis; een veld zonder die verklaring laat de aanroep mislukken. Een klant met echte klantdata draait alleen met actieve pseudonimisering. Anders start de agent niet, en elke aanroep wordt opnieuw gecontroleerd.

Geheimen​

  • Wachtwoorden van bronnen worden per bron versleuteld met een eigen afgeleide sleutel.
  • De app geeft nooit een geheim terug, alleen een vingerafdruk en het moment waarop het is ingesteld.
  • Geheimen staan nooit in een log, een foutmelding of een audit.

Klanten zijn van elkaar gescheiden​

Probeert iemand een andere klant te benaderen, dan antwoordt het platform met 404, niet 403. Het verschil tussen "bestaat niet" en "mag niet" verklapt al dat iets bestaat. Ook een weigering naar een model noemt nooit de naam van een bron van de klant.

Rechten komen uit de database​

Wat iemand mag, leest het platform bij elke aanroep uit de database, nooit uit het verzoek zelf. Een onbekende of inactieve gebruiker mag niets. Niemand wijzigt zijn eigen rollen, ook een beheerder niet. Zie rollen en rechten.

HTML van agents draait apart​

Dashboards en andere HTML die een agent maakt, draaien op een apart domein, nooit binnen de applicatie zelf. Zo kan code van een agent niet bij de sessie van de gebruiker.

De sandbox is een kooi​

Vrije SQL draait op een wegwerpkopie, in een transactie die altijd wordt teruggedraaid, met vaste grenzen voor kolommen, rijen, tijd en aantal aanroepen. De naam van de kopie komt van het platform, nooit van de agent. Zie de verificatiesandbox.

Het platform kijkt zelf mee​

Elke geweigerde toegang wordt een meetpunt. Een securitymonitor herkent patronen zoals aftasten, nachtwerk zonder historie, een golf verwijderingen of een snel opbrandend budget, en maakt daar een alert van. Een poging om je eigen rechten te verhogen is direct kritiek.

Overzicht​

GarantieWat er gebeurt als het misgaat
Agent krijgt geen sleutelsDe test faalt; de wijziging gaat niet live
Eén besluit per modelverzoekEen verzoek zonder besluit wordt niet doorgestuurd
Geen rijen in "alleen metrics"De markertest faalt
Cross-tenant 404De test faalt
Agent-HTML op apart domeinDe test faalt

Voorbeeld​

Een agent probeert in de stand "alleen metrics" met een slimme query toch de tien grootste klanten op te halen. De leestool kent geen vrije query, dus die weg bestaat niet. Hij probeert het via de sandbox. Daar staat de bron dicht voor rijen, dus wordt de aanroep geweigerd. De weigering staat in de audit. Als het patroon zich herhaalt, komt er een alert bij de beheerder.