Aan de slag
Deze gids helpt je om Noxtica in slechts een paar minuten aan je webapplicatie toe te voegen.
Vereisten
- Een Noxtica-account (vraag toegang aan via contact)
- Je Site Key (ontvangen na het instellen van je account)
Snelle integratie
Zodra je account is ingesteld en je je Site Key hebt, voeg je onze collector toe aan je HTML — dat is de hele installatie.
Automatische collectie (aanbevolen)
De eenvoudigste manier om te beginnen is Noxtica zichzelf te laten beheren, met behulp van de eenmalig-uitvoeren-modus:
<script
src="https://collect.noxtica.com/collector/noxtica.js"
data-site-key="pk_prod_your_site_key_here"
data-auto-init
data-auto-check-once
async
></script>
Dit zal:
- Een bezoeker beoordelen bij hun eerste bezoek
- Dat resultaat hergebruiken voor terugkerende bezoeken binnen het cachevenster (standaard: 7 dagen)
- Terugkerende bezoeken stil registreren zonder de volledige beoordeling opnieuw uit te voeren
- Coördineren over open tabbladen zodat een bezoeker slechts één keer wordt beoordeeld
Resultaten zijn beschikbaar via:
// Listen for results
document.addEventListener('noxtica:collected', function (e) {
console.log('Fingerprint collected:', e.detail);
console.log('Risk score:', e.detail.score);
console.log('Risk level:', e.detail.risk_level);
});
// Or access directly after collection
console.log(window.noxticaResult);
Handmatige collectie
Voor meer controle gebruik je de JavaScript API:
<script src="https://collect.noxtica.com/collector/noxtica.js"></script>
<script>
// Create a client with your Site Key
const client = NoxticaCollector.createClient({
siteKey: 'pk_prod_your_site_key_here',
});
// Collect and submit in one call
client.collectAndSubmit().then((result) => {
console.log('Risk score:', result.score);
console.log('Risk level:', result.risk_level);
console.log('Flags:', result.flags);
});
</script>
Slimme collectie met checkOnce()
Voor de kleinste voetafdruk gebruik je checkOnce() — het respecteert het collectie-interval dat je op de server configureert, zodat bezoekers niet vaker opnieuw worden beoordeeld dan nodig:
const client = NoxticaCollector.createClient({
siteKey: 'pk_prod_your_site_key_here',
});
// Only collects if outside the check interval window (default: 7 days)
// Otherwise records a visit and returns cached result
const result = await client.checkOnce();
if (result.fromCache) {
console.log('Using cached result, next collection in:', result.nextSubmitIn, 'days');
} else {
console.log('Fresh collection submitted');
}
console.log('Risk level:', result.risk_level);
Prestaties en pagina-impact
De collector is ontworpen om minimale impact te hebben op het laden van de pagina en de zichtbare latentie voor de gebruiker:
| Maatstaf | Waarde |
|---|---|
| Initiële scriptgrootte | ~167 KB geminificeerd, ~55 KB brotli |
| Tijd tot verzameling (mediaan, fp) | <50 ms op moderne desktop / <120 ms op middenklasse telefoons |
| Tijd tot risicoscore-respons | <150 ms mediaan (collector edge → API edge) |
| Gecached bezoek (na eerste lading) | <10 ms (geen fingerprintingwerk; alleen een beacon) |
| Blokkering van de main thread | Geen — collectie draait in asynchrone stukken |
Hoe we het licht houden:
async-scriptattribuut — de collector laadt op de achtergrond en vertraagt je pagina nooit van zichtbaar of interactief worden.- Eenmalig-uitvoeren-modus (
data-auto-check-once) — na de eerste beoordeling sturen terugkerende bezoeken binnen het cachevenster alleen een tiny bezoekpingbericht (~150 bytes). - Cross-tab-coördinatie — meerdere open tabbladen worden samengevoegd tot één beoordeling.
- Gecached na eerste lading — de manipulatiebestendige KHAN VM wordt door de browser gecached, zodat het bij latere bezoeken direct laadt.
- Achtergrondverwerking waar ondersteund, zodat het werk van de main thread af blijft en je pagina responsief blijft.
Als je een vertraging opmerkt na het toevoegen van de SDK, maak dan een profiel op met await client.collectAndSubmit({ telemetry: true }) — de teruggegeven result.telemetry bevat een tijdindeling.
Sandbox versus productie
Je hebt twee Site Keys: één voor ontwikkeling en staging, één voor productie. Elk draait onder zijn eigen beleid en houdt zijn data volledig gescheiden.
| Aspect | Sandbox (pk_sand_*) | Productie (pk_prod_*) |
|---|---|---|
| Site Key-prefix | pk_sand_ | pk_prod_ |
| Origin-toegangslijst | Localhost + je stagingorigins | Strikt — alleen je geregistreerde origins |
| Rate limit | Ruim (~1000/min/IP) | Per-plan limieten van kracht |
| Risicoscoringbeleid | Permissief — minimale botblokkering | Productiebeleidsregels van kracht |
| Dataretentie | 7 dagen | Per-tenant configuratie (standaard 90 dagen) |
| Auditlogretentie | 7 dagen | Per-tenant configuratie (standaard 90 dagen) |
| Step-up MFA | Optioneel | Verplicht voor destructieve bewerkingen |
Wissel altijd de Site Key per omgeving. Gebruik nooit een pk_sand_*-sleutel in productieverkeer — sandboxdata verschijnt niet in je productiedashboards en risicoscoring zal te permissief zijn. Omgekeerd verbruikt het gebruik van een pk_prod_*-sleutel in ontwikkeling je productie rate-limit budget.
Een gangbaar patroon:
<script>
// Pick the key by hostname; fall back to sandbox in dev.
const KEY = location.hostname === 'www.example.com' ? 'pk_prod_REPLACE_ME' : 'pk_sand_REPLACE_ME';
const s = document.createElement('script');
s.src = 'https://collect.noxtica.com/collector/noxtica.js';
s.async = true;
s.dataset.siteKey = KEY;
s.dataset.autoInit = '';
s.dataset.autoCheckOnce = '';
document.head.appendChild(s);
</script>
Compatibiliteit met tagbeheerders
De collector werkt binnen Google Tag Manager, Adobe Launch, Tealium en Segment, MAAR met kanttekeningen:
Aanbevolen (voorkeur): voeg het script rechtstreeks toe aan je HTML, direct voor </body> of in <head> met async. Zo vroeg mogelijk starten geeft de collector de beste voorsprong, zodat hij klaar is wanneer een bezoeker interageert.
Tagbeheerders — werkt, met kanttekeningen:
- ✅ De meeste moderne tagbeheerders (GTM Custom HTML, Adobe Launch Custom Code, Segment Custom Source) laden de collector succesvol.
- ⚠️ Toestemmingspoorten die scripts blokkeren totdat een bezoeker accepteert, vertragen de eerste beoordeling — doorgaans draait niets totdat de toestemmingsbanner is gesloten. Dit is het juiste gedrag; weet alleen dat het je “tijd-tot-beslissing”-metingen kan beïnvloeden.
- ⚠️ Sommige oudere tagbeheerders verwijderen aangepaste
data-*-attributen. Alsdata-site-keyhet scripttag niet bereikt, start auto-init niet. Stel het dan zelf in via code:NoxticaCollector.createClient({ siteKey: 'pk_prod_...' }).checkOnce(); - ❌ Enkele zwaar gesandboxte tagcontainers (zeldzaam) voorkomen dat de manipulatiebestendige runtime start. De SDK blijft werken met een lichtere vorm van collectie en logt een consolewaarschuwing.
Als je via een tagbeheerder moet integreren, configureer hem dan om de Noxtica-tag te activeren op All Pages — Window Loaded (of equivalent) in plaats van DOM Ready — zo is de toestemmingsstatus definitief voordat er iets wordt uitgevoerd.
Content Security Policy
Als je site een content-security-policy gebruikt, moet je Noxtica toestemming geven om te laden, zijn manipulatiebestendige runtime (de KHAN VM) uit te voeren en te communiceren met onze API. Het onderstaande voorbeeld dekt alle drie:
Content-Security-Policy:
default-src 'self';
script-src 'self' 'wasm-unsafe-eval' https://collect.noxtica.com;
connect-src 'self' https://collect.noxtica.com;
Als het beleid het token 'wasm-unsafe-eval' niet bevat, blokkeert de browser de manipulatiebestendige runtime en zie je een gerelateerde waarschuwing in de console. Noxtica blijft werken — het valt terug op een lichtere vorm van collectie — maar met zwakkere manipulatiebeveiliging. Het bovenstaande token toevoegen herstelt de volledige ervaring.
Site Keys
Je Site Key (pk_...) is een openbare identifier die verzoeken van je domein authenticeert. Elk domein dat je toevoegt in het Backoffice krijgt een unieke Site Key.
Belangrijke opmerkingen:
- Site Keys zijn openbaar en kunnen veilig in je HTML worden opgenomen
- Elke Site Key is gekoppeld aan een specifieke origin (bijv.
https://example.com) - De API weigert verzoeken waarbij de origin niet overeenkomt met het geregistreerde domein van de Site Key
Configuratieopties
const client = NoxticaCollector.createClient({
// Your Site Key (required)
siteKey: 'pk_prod_your_site_key_here',
// API endpoint (defaults to production)
apiUrl: 'https://collect.noxtica.com',
// Collection mode: 'max' (default), 'standard', or 'minimal'
// Omit to use max mode (recommended)
// mode: 'standard', // Uncomment to opt out of max-only signals
});
Collectiemodi
| Modus | Signalen | Het best voor |
|---|---|---|
minimal | Een kleine kernset van signalen | Snelste collectie, kleinste voetafdruk |
standard | Een brede set signalen | Sites die de voorkeur geven aan een lichtere set |
max | De volledige set signalen | Maximale nauwkeurigheid (standaard) |
Responsformaat
Na het verzamelen en indienen ontvang je:
{
"success": true,
"fingerprintId": "abc123...",
"score": 15,
"risk_level": "minimal",
"confidence": 0.5,
"flags": [],
"details": {
"summary": "Detected 0 risk indicator(s)."
}
}
Risiconiveaus
| Score | Niveau | Betekenis |
|---|---|---|
| 0-19 | minimal | Zeer laag risico, waarschijnlijk legitiem |
| 20-39 | low | Laag risico, kleine afwijkingen |
| 40-59 | medium | Gemiddeld risico, enkele markeringen |
| 60-79 | high | Hoog risico, waarschijnlijk automatisering |
| 80-100 | critical | Zeer hoog risico, bevestigde bot |
Authenticatie
De SDK authenticeert elk bezoek met kortlevende, automatisch geroteerde credentials gekoppeld aan je Site Key. Het vraagt ze op, vernieuwt ze en voegt ze toe aan elke indiening voor jou.
Je hoeft dit allemaal niet te beheren — de SDK regelt het automatisch.
Onboardingproces
- Toegang aanvragen: neem contact op om een demo aan te vragen of te beginnen
- Account instellen: wij maken je tenantaccount aan op het platform
- Domeinen toevoegen: log in op het Backoffice, ga naar Domains en voeg je origins toe
- Site Key kopiëren: elk domein krijgt een unieke Site Key
- Integreren: voeg het script met je Site Key toe aan je pagina’s
- Monitoren: bekijk fingerprints en analytics in het Backoffice-dashboard
Meerdere domeinen beheren
Noxtica ondersteunt meerdere domeinen per account:
- Productie:
https://www.yoursite.com - Staging:
https://staging.yoursite.com - Mobiel:
https://m.yoursite.com
Elk domein heeft zijn eigen Site Key. Je kunt:
- Domeinen in- of uitschakelen zonder sleutels opnieuw te genereren
- Site Keys roteren als ze gecompromitteerd zijn
- Analytics gefilterd op domein bekijken
SDK-versie
Huidige SDK-versie: 3.3.0 (Schema: 2026-05-24)
Nieuw in 3.3.0
- Lichtgewicht gedragssignalen (altijd actief) — eenvoudige timingaanwijzingen zoals hoe lang een sessie duurt en hoe snel een bezoeker voor het eerst interageert. Geen biometrische data, en geen toestemming van de eindgebruiker vereist.
- Gedragsbiometrie (opt-in) — wanneer je dit inschakelt via Backoffice → Settings → Behavioral Biometrics, kijkt Noxtica ook naar het ritme van muisbewegingen, klikttiming en scrollen. Dit telt als biometrische data onder strikte privacyregelgeving, dus expliciete toestemming van de eindgebruiker is vereist. Zie Gedragsbiometrie hieronder.
- Apple Pay consistentiecheck — bevestigt dat een apparaat dat claimt een iPhone te zijn er ook als één gedraagt, waarmee een veelvoorkomende spoofingtruc wordt ondervangen.
- Netwerkfingerprint-matching — herkent de kenmerkende verbindingspatronen van veelgebruikte automatiseringstools, zodat verkeer van scripts en bots opvalt zelfs wanneer de browser er overtuigend uitziet.
- IP-reputatie — markeert bezoekers die aankomen via netwerken met een slechte reputatie, met de optie om je eigen favoriete threat-intelligence-feed aan te sluiten.
Gedragsbiometrie (optioneel, opt-in)
Noxtica kan ook het ritme bestuderen van hoe iemand de muis beweegt, klikt en scrollt. Het is een opt-in-functie, standaard uitgeschakeld.
Waarom opt-in? Dit soort gedragsdata telt als gevoelige persoonsdata onder strikte privacyregelgeving, dus het vastleggen ervan vereist expliciete toestemming van je eindgebruiker. We maken het opt-in zodat jij de controle houdt over wanneer en hoe het wordt gebruikt.
Inschakelen:
- Log in op Backoffice → Settings → Behavioral Biometrics
- Bespreek de compliancemededeling met je privacy- of juridisch team
- Werk je privacybeleid en toestemmingsbanner bij om deze vastlegging te melden
- Schakel de functie in
Eenmaal ingeschakeld verwerkt Noxtica deze gedragssignalen automatisch mee in toekomstige beoordelingen, en je dashboard toont de resulterende gedragsscore per domein.
Volgende stappen
- Probeer de live demo om fingerprinting in actie te zien
- Lees de gids Backend-integratie voor server-side opzoekingen
- Open het dashboard om verzamelde data te verkennen