Beveiliging & dataresidentie

Anti-quishing aan de uitgeverskant. Dataresidentie aan de opslagkant.

Elke Pro-link doorloopt een anti-quishing pipeline van zeven lagen bij aanmaak, bij elke bestemmingswijziging en op een rollend schema. Het scanlogboek bevat alleen land plus apparaatklasse, zonder IP, zonder user-agent, zonder cookie, zonder gedragsprofiel dat kan uitlekken. Single-region D1 is beschikbaar op Agency en Custom Enterprise.

Data die we verzamelen

Elke byte die op onze servers belandt, valt in een van vier categorieën:

Accountgegevens

E-mailadres, abonnementstier, abonnementsstatus, Stripe klant- + abonnements-ID's, optionele teamnaam + werkruimtelabel. Dat is alles. Geen telefoon, geen adres (factuuradres blijft bij Stripe), geen gedragsprofiel.

Codegegevens

De bestemmings-URL, een 7-teken Base58-shortcode, een label + tags die je instelt, optioneel QR-ontwerp (kleuren / logo / frame), optionele wachtwoordbeveiliging, optioneel schema. Van jou; altijd als CSV exporteerbaar.

Scangegevens

UTC dag-bucket + land (van CF-IPCountry) + apparaatklasse (mobile / tablet / desktop / unknown). Ruwe User-Agent wordt direct na classificatie weggegooid. IP komt nooit in de database. Gecached in KV voor het redirect-hotpad, samengevoegd in D1 via ctx.waitUntil. Landen met minder dan 5 scans worden samengevoegd in "Overig" ter bescherming tegen heridentificatie.

Audit / factureringsmetadata

Alleen-toevoegen log van mutaties (wie deed wat, wanneer, in welke scope), 180 dagen retentie. Stripe-webhook-events ontdubbeld voor idempotentie, geen klant-PII buiten de Stripe-klant-ID. GDPR-verzoeklog (export / verwijder / herstel), behouden na accountverwijdering voor bewijs van tijdig nakomen.

Voor het volledige schema, zie docs/SCHEMA.md in onze bronrepo; elke kolom is gedocumenteerd met een bewaarbeleid.

Waar de data staat

OppervlakProviderRegioSingle-region optie?
Dashboard + APICloudflare Pages FunctionsGlobal edge (dichtstbijzijnde PoP)Ja, alleen Agency+
Code records (D1)Cloudflare D1 (SQLite)Primaire regio toegewezen bij provisioning (nu: ENAM)Ja, Agency+ per-tenant shard
Redirect hot path (KV)Cloudflare Workers KVEdge-gerepliceerd wereldwijd voor <50ms p99Niet beschikbaar (replicatie is het product)
Versleutelde back-upsCloudflare R2Primaire regio toegewezen bij aanmaak bucketJa, EU / APAC jurisdictionele bucket op aanvraag
BetalingenStripeVS, regionale PII-afhandeling via Stripe's eigen residentieVia Stripe-contract
Transactionele e-mailZeptoMail (Zoho)IN (Zoho EU-regio beschikbaar op aanvraag)Ja, Zoho EU-regio

Wat een grens overschrijdt, precies

  • Scans overschrijden nooit een grens op een verliesgevende manier. Een scan vanuit Lissabon raakt de Cloudflare PoP in Lissabon; de worker schrijft dag/land/apparaat naar KV aan de edge en voegt asynchroon samen in D1 in zijn primaire regio. Het IP van de oorspronkelijke scanner leeft in de kortstondige requeststate van Cloudflare voor de duur van het HTTP-verzoek en wordt nooit opgeslagen in onze database.
  • Dashboard-verzoeken eindigen bij de dichtstbijzijnde Cloudflare PoP en roepen D1 aan via het privénetwerk van Cloudflare. Onze Pages Functions lezen/schrijven D1 in de toegewezen regio; de edge PoP serveert de HTML + JS-bundel vanuit de globale static-asset cache.
  • Stripe-webhooks overschrijden de grens eenmalig: Stripe (VS) POST't naar ons Cloudflare Pages-eindpunt, dat de HMAC verifieert, een minimale rij (event_id, type) schrijft voor idempotentie en downstream events verzendt.
  • Transactionele e-mail (Zepto) overschrijdt de grens eenmalig per verzending: onze worker geeft een gerenderd template door aan de Zepto API; Zepto levert af bij de mailserver van de ontvanger. De inhoud bestaat uit uitnodigingslinks, factureringslevenscyclusberichten en scan-cap-meldingen, geen klant-scandata.

Anti-quishing pipeline

QR-phishing steeg met 146% in Q1 2026. De standaard short-linkaanbieder reageert pas na een klantklacht. Wij controleren elke link bij aanmaak, telkens wanneer de bestemming aan onze kant wordt gewijzigd, en op een rollend schema, omdat een klant zijn eigen URL op zijn eigen server kan omzetten zonder ooit onze API aan te roepen. Dezelfde threat-intel pipeline die onze publieke scanner aandrijft op check.qr.abundera.ai wordt uitgevoerd tegen elke link die we uitgeven.

Zeven detectielagen, elk met een lopende Amerikaanse patentaanvraag. Elke laag voedt een unified verdict; een treffer op een willekeurige laag kan een aanmaak blokkeren, een bestemmingswijziging weigeren of een al actieve link opschorten.

LaagWat het opspoortWanneer het loopt
Redirect-chain mutabiliteitHoeveel onafhankelijke partijen het pad beheersen tussen onze short link en de eindpagina. Een twee-hop keten via een redirector van een derde is een andere risicoklasse dan een directe bestemming.Aanmaak, bestemmingswijziging, rollende hercontrole
Multimodale payload-analyseWiFi-, contact-, telefonie-, mail-, kalender-, geolocatie-, cryptocurrency-, Android-intent- en inline-data-payloads krijgen elk een typespecifieke analyser. Hard-geblokkeerde schema's weigeren bij indiening.Aanmaak, bestemmingswijziging
Crawler-vs-browser cloakingPagina's die schone inhoud tonen aan scanners en phishing aan mensen. Gedetecteerd via parallelle fetches met gecontroleerde fingerprint-variantie en een divergentiescore.Aanmaak, rollende hercontrole
Bestemmingsserver-mutabiliteitVers geregistreerde domeinen, gloednieuwe certificaten, hoog-verloop TLD's, ontbrekende HSTS en degradatie van transportschema. Onafhankelijk van de redirect-keten; een statische één-hop keten naar een zes dagen oud certificaat op een dubieuze TLD wordt alsnog gemarkeerd.Aanmaak, bestemmingswijziging, rollende hercontrole
Fysieke-instantie herkomstCrowd-sourced hash-grootboek gekeyed op gedecodeerde payload. Een enkele QR die gescand wordt vanuit veel verschillende regio's in een kort tijdvenster komt naar voren als sticker-aanvals-kandidaat. Elke link die wij uitgeven krijgt bij aanmaak een schone herkomstvermelding, zodat overlay-aanvallen op legitieme Pro-codes worden gevangen.Continu
Visuele merkdivergentieAls een code een merklogo draagt waarvan de canonical-domeinset de gedecodeerde bestemming niet bevat, is de code merkdivergent. Van toepassing op elke Pro-code die onze center-logo-functie gebruikt; een phisher kan geen Chase-gelogode code maken die naar een niet-Chase-domein wijst.Aanmaak, logowijziging, bestemmingswijziging
Sensor / venue topologieVoor locatiegebonden codes (parkeermeters, hotel check-in, restaurantmenu's, museumexposities) wordt de omgevings-RF-context van het scanapparaat gecontroleerd aan de hand van de geregistreerde topologie voor die locatie. Een mismatch geeft een sensor-context-anomalie bij zelfs de allereerste scan van een frauduleuze sticker. Enterprise-tier; de locatie-exploitant registreert de verwachte topologie bij aanmaak van de code.Elke scan

Het probleem van klantwijzigingen

De bestemmings-URL van een Pro-link staat op de server van de klant, niet de onze. De klant kan example.com/promo omzetten van een echte promo naar een phishingpagina zonder ooit de Abundera API aan te roepen. Wij behandelen dit als het primaire misbruikpad, niet als een randgeval. Rollende hercontroles op actieve bestemmingen draaien op een schema, en onze cloaking-detectielaag richt zich specifiek op pagina's die na indiening van inhoud wisselen. Wanneer een bestemming na aanmaak controles begint te falen, wordt de link automatisch gepauzeerd, de eigenaar gemaild met het specifieke verdict en het event gelogd in het auditspoor.

Valse positieven en bezwaar

Threat intel heeft het soms mis. Een legitiem merk op een nieuw uitgegeven certificaat, een echte promo waarvan de pagina legitiem is gewijzigd, een verhuisd domein. Elke blokkering en elke automatische pauze bevat de specifieke verdictlaag die uitkwam, de invoer die het triggerde en een bezwaarmogelijkheid met één klik die binnen één werkdag naar een persoon escaleert. We kiezen voor pauzeren in plaats van verwijderen; een gepauzeerde link kan in seconden opnieuw worden ingeschakeld zodra het bezwaar is afgehandeld.

Single-region residentie (Agency+ en Custom Enterprise)

Voor kopers die alleen EU of alleen APAC willen, kunnen Agency-tier klanten aanvragen:

  • D1 in één jurisdictie (EU: EEUR of WEUR; APAC: APAC). Cloudflare respecteert een location-hint bij database-aanmaak; wij starten een per-tenant D1-shard op in de gevraagde regio (ADR-0010).
  • R2-bucket in dezelfde jurisdictie, nachtelijkse versleutelde D1-naar-R2-back-ups landen in de bijbehorende regio.
  • Zepto EU-regio voor transactionele e-mail, geconfigureerd op serviceniveau, geen codewijziging.
  • KV blijft globaal, edge-replicatie is de kern van de <50ms redirect-garantie. Als single-region KV een harde vereiste is, neem contact op; we kunnen beoordelen of een regionale Worker-variant haalbaar is voor jouw campagne.

De prijs voor de single-region add-on is een vast tarief (geen toeslag per gebruiker) en hangt af van de specifieke combinatie. Mail enterprise@abundera.ai met je doeljurisdictie + verwacht scanvolume en we maken een offerte.

Compliancehouding

  • GDPR, minimale data als ontwerp (alleen land + apparaatklasse, geen IP, geen UA, geen cookies), plus export met één klik en hard-delete in 30 dagen. DPA + EU SCC's beschikbaar voor alle betalende tiers.
  • CCPA, gedekt door hetzelfde export + verwijder-oppervlak. "Verkoop van data" doen wij niet: geen deling met derden, geen advertentiepartners, geen retargeting.
  • SSO + SCIM provisioning, SAML 2.0 + OIDC single sign-on en SCIM 2.0 gebruiker & groepslevenscyclus (Agency + Custom Enterprise tiers). RFC 7643/7644 compliance geverifieerd (20/20 op de PingIdentity-afgeleide testsuite). Per-verbinding feature flag betekent dat SCIM standaard uit staat en per klant wordt ingeschakeld; rate-beperkt tot 50 RPS per token; audit-gelogd. Okta/Entra/JumpCloud werken vandaag als custom-SCIM apps terwijl partner-cataloguslistings in behandeling zijn.
  • SOC 2 Type II, in scoping. Proces van 6-9 maanden. Als dit een harde vereiste voor je is, mail enterprise@abundera.ai; we kunnen de huidige status + verwachte tijdlijn delen.
  • PCI-DSS, buiten ons directe bereik; betalingen volledig afgehandeld door Stripe (PCI Level 1 gecertificeerd).

Beveiligingsdisclosure

Kwetsbaarheid gevonden? Mail security@abundera.ai. Gecoördineerde disclosure: we bevestigen binnen 24u (werkdagen), triagen binnen 72u en stemmen een fix + disclosuretijdlijn af. Nog geen bug bounty-programma; we erkennen onderzoekers publiekelijk op abundera.ai/security/thanks/ zodra een fix is uitgebracht.