Engineering-principes
Wat we geloven — en hoe het zichtbaar is in het hele product.
Dit zijn operationele beperkingen, geen slogans. Elk ervan is toetsbaar aan het product. Als je een uitzondering vindt, is óf het principe verkeerd óf de implementatie verkeerd; beide zijn bugs.
01. Kalibratie boven oordelen
Je fraudeteam neemt de uiteindelijke beslissing — Noxtica geeft hen het bewijs.
We geven geen ja/nee-antwoord terug. We geven een risiconiveau, een betrouwbaarheidsmaat en de redenen daarachter. Een chargeback is geen mislukte login. Een nieuwe aanmelding is geen terugkerende klant met gewiste cookies. Jij kent je context. Wij geven je alleen betere inputs.
Waar je dit ziet
- Elke verificatie geeft een risiconiveau, een betrouwbaarheidsmaat en de redenen achter de score terug — nooit één enkel “dit is een bot”-markering.
- Het operatordashboard toont de uitsplitsing per categorie, niet alleen het eindniveau.
- De onderliggende signalen zijn beschikbaar als je je eigen classifier erbovenop wilt bouwen.
De afweging
Je kunt Noxtica niet plakken in een éénregelige “als bot, blokkeer”-controle. Je schrijft een beleid. Het beleid is kort — doorgaans tien tot twintig regels — maar het is van jou.
02. Verdedigbare beslissingen
Wanneer een sessie wordt gemarkeerd op een echte klant, moeten je engineers de beslissing kunnen verdedigen — tegenover juridische zaken, tegenover product, tegenover de klant zelf.
Elke detectiecategorie is gedocumenteerd in /docs/threat-categories, en elke drempel is auditeerbaar. Als een resultaat je verrast, is het traceerbaar. Als je het oneens bent met een kalibratie, is het aanpasbaar.
Waar je dit ziet
- De redenen in een verificatie komen exact overeen met de namen in de documentatie. Geen codenamen, geen marketinghernoems.
- Elke drempel bevat de motivatie en de populatiedata erachter.
- De signalen die Noxtica rapporteert zijn een gedocumenteerd contract, geen bewegend doel.
De afweging
We kunnen het model niet stilletjes wijzigen. Een drempel aanscherpen betekent de wijziging opschrijven, die rechtvaardigen in de changelog en uitbrengen als een geversioneerde update. Dat is trager dan een black box zou zijn. Wij denken dat de afweging het waard is.
03. Vals-positieven zijn geen acceptabel verlies
Een geblokkeerde klant komt nooit terug. Een gemiste bot is één chargeback die je kunt aanvechten; een geblokkeerd mens is klantverloop — en klantverloop stapelt zich op.
We missen liever een bot dan dat we een echte klant blokkeren met een ongewone maar volkomen legitieme configuratie. De drempels neigen bewust naar het doorlaten van grensgevallen. De risiconiveaus bestaan zodat jij je eigen afweging kunt kiezen, maar de standaardwaarden zijn niet voor niets conservatief.
Waar je dit ziet
- De niveaus “dit observeren” en “dit uitdagen” liggen bewust ver uit elkaar, zodat de populatie ertussen grotendeels uit bots bestaat, niet uit mensen.
- Herkende privacybrowsers worden bewust mild behandeld, niet als een bijzaak.
- Het standaardbeleid in onze voorbeelden is uitdagen, niet blokkeren — en blokkeren is gereserveerd voor het hoogste niveau, dat per ontwerp alleen activeert wanneer meerdere signalen het met elkaar eens zijn.
De afweging
Je vangstpercentage bij standaardinstellingen is lager dan dat van een strakker afgestelde concurrent. Wij denken dat je over een jaar in absolute termen meer bots vangt, omdat je om te beginnen meer van je echte klanten behoudt.
04. Privacy by construction
Je privacyfunctionaris slaapt beter omdat we dit voor de hunne hebben gebouwd.
De collector verzamelt geen persoonsgegevens. Standaard wordt geen ruw netwerkadres opgeslagen — alleen grove context zoals land, afgeleid en daarna weggegooid. Er vinden geen externe aanroepen plaats tijdens verificatie. Wat we opslaan is een versleutelde, eenrichtingssamenvatting, nooit ruwe waarden, en de ondertekeningssleutel roteert regelmatig. We kunnen niet verkopen wat we nooit hebben verzameld.
Waar je dit ziet
- Tijdens de collectie doet de browser precies één verzoek: een same-origin-verzending naar je eigen backend met het afgesloten resultaat. Geen externe telemetrie, geen analyticsbeacons, geen lettertypen van elders.
- Verificatie aan onze kant vereist geen extra opzoekingen — het volledige beeld zit in het resultaat, er hoeft niets opnieuw te worden opgehaald.
- De standaardinstellingen voor dataretentie variëren per plan, en definitieve verwijdering op aanvraag wordt afgedwongen op de opslaglaag, niet als een zachte markering.
De afweging
We kunnen het model niet verrijken met cross-klantdata. Een bot die we op de site van één klant zagen, is niet automatisch bekend bij de verificatie van een andere klant. We gebruiken populatieniveau-aggregaten voor kalibratie, maar koppelen individuen nooit over klanten heen.
Hoe de principes samenkomen
Deze vier principes zijn niet onafhankelijk — ze versterken elkaar.
- Kalibratie boven oordelen (01) werkt alleen als beslissingen verdedigbaar zijn (02), want zonder de gedocumenteerde redenering kun je de kalibratie niet lezen.
- Verdedigbare beslissingen (02) zijn wat vals-positief-aversie (03) verifieerbaar maakt — je kunt de drempels auditeren en bewijzen dat de standaardwaarden conservatief zijn.
- Privacy by construction (04) is wat het model leesbaar houdt. We hebben geen duizend cross-klant-features; we hebben er een paar dozijn, elk gekoppeld aan een signaal dat je in de documentatie kunt lezen.
Als we een vijfde principe toevoegen, moet het deze vier versterken. Doet het dat niet, dan brengen we het niet uit.
Verder lezen
- Waarom kalibratie, geen oordelen — de filosofie die principe 01 aandrijft.
- Dreigingscategorieën — het gedocumenteerde oppervlak dat principe 02 belooft.
- Use cases — hoe principes 03 en 04 eruitzien in productie.