Gedragslaag
Een programma verraadt zich door hoe het handelt, niet door wat het doet
Elk bezoek levert beweging op: een cursor die naar een knop toe reist, toetsen die worden ingedrukt en losgelaten, een pagina die wordt gescrold, een scherm dat wordt aangeraakt. TRACIO beoordeelt die beweging doorlopend en vertelt je of ze van een hand kwam of van software.
Waar we naar kijken
Vier invoerkanalen, gewogen naar het apparaat in de handen van de bezoeker
Elk kanaal wordt apart beoordeeld en daarna samengevoegd. De gewichten liggen niet vast — ze volgen het apparaat dat de bezoeker daadwerkelijk gebruikt. Op een telefoon draagt touch het verdict en zegt een ontbrekende cursor niets. Op een desktop is de cursor het sterkste kanaal en is een afwezige touchstroom simpelweg te verwachten.
Muis en cursor
Primair op desktopSnelheid en hoeveel die varieert, richtingswisselingen per afgelegd stuk, hoe het pad naar een doel toe buigt, versnellen en afremmen vlak voor een klik, en de fijne trilling van een menselijke hand die een gescripte beweging niet nabootst.
Toetsenbordritme
Alleen timingHoe lang elke toets ingedrukt blijft, het gat tussen het loslaten en de volgende aanslag, overlap wanneer de volgende toets omlaag gaat voordat de vorige omhoog komt, uitbarstingen en pauzes, correcties en backspaces. Timing — nooit de tekens. Zie de privacysectie hieronder.
Scrollen
Beide formfactorenDe spreiding van de snelheid, hoe vaak de richting omkeert, momentum dat wegebt zoals een fysieke veeg wegebt, en pauzes die kloppen met hoeveel tekst er werkelijk op het scherm staat.
Touch
Primair op mobielHet contactoppervlak en hoe dat verandert tijdens een tik, de gerapporteerde druk waar het apparaat die prijsgeeft, de kleine afwijking van een vinger die nooit twee keer op dezelfde pixel landt, en de timing tussen meerdere contacten.
Dezelfde sessie, op twee manieren gewogen
Muis en toetsenbord dragen het gewicht. Een touchstroom wordt hier niet verwacht, dus het ontbreken ervan kost de bezoeker niets.
Touch en apparaatbeweging dragen het gewicht. Een bezoek helemaal zonder cursorbeweging is normaal op een telefoon, niet verdacht.
Afwezigheid is geen bewijs
Een kanaal dat het apparaat nooit heeft geboden wordt uit de score gelaten in plaats van de bezoeker aangerekend. Dat klinkt vanzelfsprekend en is tegelijk de meest voorkomende manier waarop naïeve gedragsscoring echte klanten in verdachten verandert: een telefoon heeft geen muis, wie een schermlezer gebruikt heeft geen vloeiend cursorpad — en geen van beide feiten zegt iets over botzijn.
Het bewijs
Drie dingen die software doet en handen niet kunnen
Dit zijn voorbeelden en niet de volledige regelset, maar ze laten zien wat voor bewijs we gebruiken. Elk ervan is fysiek onmogelijk voor een hand, en elk is zo afgeschermd dat één vreemd moment nooit een verdict wordt.
Aanslagen op de maat van een metronoom
Wat we meten
Elke toets blijft over de hele invoer heen bijna precies evenveel milliseconden ingedrukt.
Waarom een hand dat niet kan
Hoe lang een vinger op een toets blijft hangt af van welke toets het is, bij welke hand die vinger hoort en hoe moe die hand is. Menselijke aanslagduren spreiden. Geïnjecteerde toetsaanslagen worden uit een constante gegenereerd, en de spreiding zakt naar vrijwel nul.
Wat het eerlijk houdt
De regel heeft genoeg toetsaanslagen in het venster nodig voordat hij überhaupt meetelt. Een invoer van vier tekens is geen steekproef en wordt ook niet als steekproef beoordeeld.
Klikken die teleporteren
Wat we meten
Een klik landt op een element waar de cursor nooit naartoe is gereisd — de aanwijzer verschijnt gewoon op de coördinaten en vuurt af.
Waarom een hand dat niet kan
Een mens nadert een doel: het pad buigt naar binnen, de snelheid zakt tegen het eind, en meestal is er een moment van zweven voor de druk. Automatisering zet coördinaten en verstuurt een event; er is geen nadering omdat er fysiek niets is bewogen.
Wat het eerlijk houdt
Eén teleporterende klik is een plausibel artefact van toetsenbordnavigatie of trackpad. Hij telt pas mee als hij de meerderheid vormt van de klikken in een sessie die genoeg klikken had om over te oordelen.
Typen in een verborgen tabblad
Wat we meten
Er blijven toetsaanslagen binnenkomen terwijl de pagina op de achtergrond ligt en nooit naar voren is gehaald.
Waarom een hand dat niet kan
Een mens kan niet typen in een pagina waar hij niet naar kijkt. Farmsoftware bestuurt tientallen tabbladen tegelijk en neemt niet de moeite om elk tabblad te focussen voordat ze formulieren gaat invullen.
Wat het eerlijk houdt
Eén event op het moment van een tabwissel is een race tussen browserevents, geen bewijs. Het telt bij herhaalde invoer terwijl de pagina nog altijd nooit zichtbaar is geweest.
Privacy
Wij meten het ritme. De tekst kunnen we niet reconstrueren.
Gedragsverzameling draait overal op de pagina, ook in velden voor wachtwoord, e-mail en kaartnummer. Dat is een bewuste keuze, en die verdient een volledige uitleg in plaats van een plek diep in een beleidsdocument.
Waarom juist de gevoelige velden ertoe doen
Credential stuffing, kaarttesten en accountovername spelen zich precies in die invoervelden af. Een detector die zichzelf daar uitschakelt is blind op de ene plek waar de aanval werkelijk plaatsvindt. Zo was het eerder: in gevoelige velden was de verzameling categorisch uitgeschakeld, waardoor de seconden met het hoogste risico van een bezoek helemaal geen metingen opleverden.
Wat wordt bewaard
Timing. Wanneer een toets omlaag ging, hoe lang die omlaag bleef, hoe lang het duurde tot de volgende, of twee aanslagen overlapten. Dat is genoeg om een hand van een generator te onderscheiden, en meer heeft de detector nooit gevraagd.
Wat niet wordt bewaard
Welke toets het was. In gevoelige velden wordt de identiteit van elke aanslag al in de browser vervangen door een grove vervangwaarde, voordat er iets de pagina verlaat — één uit een handvol klassen, geen teken. Er is geen weg terug. De stroom die onze servers bereikt bevat geen tekst, geen tekstfragmenten en niets wat tot tekst is samen te stellen.
Het gevolg dat we moesten opvangen
Omdat de toetsidentiteit in die velden echt weg is, moet elke regel die op het onderscheiden van toetsen leunt die aanslagen uit zijn eigen telling laten — anders zou een gewoon wachtwoord eruitzien als één toets die keer op keer wordt aangeslagen, en zouden we mensen markeren omdat ze correct typen. Regels op basis van timing hebben er geen last van en blijven op de volledige stroom werken.
De verzameling uitzetten heeft de inhoud nooit beschermd
De tekens werden in geen van beide ontwerpen ooit verzameld. Wat de oude categorische uitsluiting weghaalde was alleen het bewijs — het maakte de detector blind zonder iemand privéer te maken. De aanpak met vervangwaarden houdt precies dezelfde belofte over jouw tekst overeind en geeft de detector zijn metingen terug. Sterkere detectie en betere privacy kwamen uit één beslissing voort, en dat is zeldzaam genoeg om hardop te zeggen.
Hoe regels live gaan
Een nieuwe regel draait blind voordat hij een verdict mag raken
Detectie wordt slechter op het moment dat ze slim wordt zonder bewijs. Elke gedragsregel wordt eerst in de schaduw toegevoegd: hij wordt geëvalueerd op live productieverkeer en zijn uitkomst wordt vastgelegd, maar hij draagt niets bij aan de score die iemand te zien krijgt.
In de schaduw uitgerold
De regel evalueert vanaf de eerste dag op echt verkeer. Zijn uitkomst gaat alleen naar analytics — het verdict van geen enkele klant verschuift omdat er een regel is bijgekomen.
Gemeten tegen beide populaties
We kijken hoe vaak hij afgaat op sessies die onafhankelijk als menselijk zijn beoordeeld en op sessies die onafhankelijk als geautomatiseerd zijn beoordeeld, over genoeg live verkeer om iets te betekenen.
Twee drempels beslissen
Hij moet minstens tien tegen één scheiden — dus minstens tien keer vaker afgaan op automatisering dan op mensen — en hij moet onder een afvuurpercentage van 0,5% blijven op echte menselijke sessies.
Bevorderd, of in het donker gelaten
Een regel die beide poorten haalt krijgt gewicht in de score. Een regel die dat niet haalt blijft in de schaduw of gaat er helemaal uit. Bevordering is een bewuste, beoordeelde wijziging — er wordt niets automatisch aangezet.
Dit is wat je beschermt tegen een detector die van de ene op de andere dag slim werd en je eigen klanten begon weg te sturen. Je percentage vals-positieven verschuift niet omdat iemand op vrijdagmiddag een idee had.
Wat je ontvangt
Drie velden, geleverd bij het identificatie-event
Het gedragsverdict komt mee met de rest van het event — geen tweede call, geen polling, geen apart endpoint om te integreren.
Fragment uit het event
{
"visitorId": "X7fh2Hg9LkMn3pQr",
"behavior": {
"score": 87.4,
"verdict": "human",
"confidence": 0.82
}
}Beschikbaar vanaf het Business-abonnement. Wordt geleverd in webhooks en is opvraagbaar via de Data API.
Het gedragsblok is een signaal, geen actie. Het blokkeert uit zichzelf niets — je combineert het met de rest van het event en met je eigen beleid, en daar hoort de beslissing thuis.
Grenzen
Wat gedrag je niet vertelt
Gedrag beantwoordt één vraag goed: mens of programma. Het beantwoordt niet “welke mens”, en we verkopen het ook niet alsof dat wel zo is.
Het is geen identiteitssignaal
We beweren niet dat we een terugkerend individu herkennen aan zijn typen of zijn muis. We hebben het op live verkeer gemeten: een specifieke persoon matchen over twee browsers die hij allebei gebruikt presteerde niet beter dan toeval. Elke leverancier die “gedragsbiometrie die de gebruiker identificeert” verkoopt zou gevraagd moeten worden datzelfde getal te publiceren.
Het vervangt identificatie niet
Wie het apparaat is komt uit de apparaat- en browserlaag. Gedrag vertelt je wat voor actor dat apparaat bestuurt. De twee beantwoorden verschillende vragen en geen van beide vervangt de ander.
Het heeft invoer nodig om te werken
Een bezoeker die binnen twee seconden landt en weer vertrekt levert bijna niets op om te beoordelen. De eerlijke uitkomst is daar “uncertain” met lage betrouwbaarheid — geen gok verkleed als verdict.
Veelgestelde vragen
Zie het gedragsverdict op je eigen verkeer
Installeer de agent, zie de score binnenkomen bij elk identificatie-event en bepaal zelf wat hij waard is.