Anti-quishing på udsteder-siden. Dataopbevaring på lagringssiden.
Hvert Pro-link kører igennem et syv-lags anti-quishing-pipeline ved udstedelse, ved hver destinationsændring og på en rullende tidsplan. Scan-loggen er kun land plus enhedsklasse, uden IP, ingen user agent, ingen cookie, ingen adfærdsprofil at lækage. Single-region D1 er tilgængeligt på Agency og Custom Enterprise.
Data vi indsamler
Alle bytes der ender på vores servere er i én af fire kategorier:
Kontodata
E-mail, planniveau, planstatus, Stripe-kunde + abonnements-ID'er, valgfrit teamnavn + arbejdsområde-label. Det er det. Ingen telefon, ingen adresse (faktureringsadresse forbliver hos Stripe), ingen adfærdsprofil.
Kodedata
Destinations-URL'en, en 7-tegns Base58-kortkode, et label + tags du sætter, valgfrit QR-design (farver / logo / ramme), valgfri adgangskodebeskyttelse, valgfri tidsplan. Ejet af dig; eksporterbar som CSV til enhver tid.
Scan-data
UTC dag-bucket + land (fra CF-IPCountry) + enhedsklasse (mobil / tablet / desktop / ukendt). Rå User-Agent kasseres øjeblikkeligt efter klassificering. IP kommer aldrig ind i databasen. Cachet i KV til redirect hot path, aggregeret til D1 via ctx.waitUntil. Landeaggregater under 5 scan slås sammen i "Other" for at forhindre re-identifikation.
Revision / faktureringsmetadata
Append-only log af mutationer (hvem gjorde hvad, hvornår, i hvilken scope), 180 dages lagring. Stripe-webhook-hændelser deduplikeret for idempotens, ingen kunde-PII ud over Stripe-kunde-ID. GDPR-anmodningslog (eksport / sletning / gendannelse), bevares efter kontosletning som bevis på rettidig opfyldelse.
For det fulde skema, se docs/SCHEMA.md i vores kilderepo; alle kolonner er dokumenteret med en lagringspolitik.
Hvor dataene befinder sig
| Overflade | Udbyder | Region | Single-region-mulighed? |
|---|---|---|---|
| Dashboard + API | Cloudflare Pages Functions | Global edge (nærmeste PoP) | Ja, kun Agency+ |
| Kode-poster (D1) | Cloudflare D1 (SQLite) | Primær region tildelt ved klargøring (i dag: ENAM) | Ja, Agency+ pr.-tenant-shard |
| Redirect hot path (KV) | Cloudflare Workers KV | Edge-replikeret globalt for <50ms p99 | Ikke tilgængeligt (replikering er produktet) |
| Krypterede sikkerhedskopier | Cloudflare R2 | Primær region tildelt ved bucket-oprettelse | Ja, EU / APAC jurisdiktionelt bucket på anmodning |
| Betalinger | Stripe | US, regional PII-håndtering via Stripes egne opbevaringsindstillinger | Via Stripe-kontrakt |
| Transaktionel e-mail | ZeptoMail (Zoho) | IN (Zohos EU-region tilgængelig på anmodning) | Ja, Zoho EU-region |
Præcis hvad der krydser en grænse
- Scan krydser aldrig en grænse på en tabsgivende måde. Et scan fra Lissabon rammer Lissabons Cloudflare PoP, workeren skriver dag/land/enhed til KV ved edgen og aggregerer asynkront til D1 i dens primære region. Den originale scanners IP lever i Cloudflares flygtige anmodningstilstand i HTTP-anmodningens varighed og persisteres aldrig til vores database.
- Dashboard-anmodninger terminerer ved den nærmeste Cloudflare PoP og kalder D1 over Cloudflares private netværk. Vores Pages Functions læser/skriver D1 i dens tildelte region; edge-PoP serverer HTML + JS-bundtet fra den globale statiske-aktiv-cache.
- Stripe-webhooks krydser grænsen én gang, Stripe (US) POSTer til vores Cloudflare Pages-endpoint, som verificerer HMAC, skriver en minimal (event_id, type) række for idempotens og dispatcher nedstrøms hændelser.
- Transaktionel e-mail (Zepto) krydser grænsen én gang pr. afsendelse, vores worker overgiver en renderet skabelon til Zetpos API; Zepto leverer til modtagerens mailserver. Indhold er invitationslinks, fakturerings-livscyklusnotifikationer og scan-loft-varsler, ingen kundescan-data.
Anti-quishing-pipeline
QR-phishing steg 146% i Q1 2026. Den typiske short-link-leverandør reagerer efter en kundeklage. Vi tjekker hvert link ved udstedelse, hver gang destinationen ændres hos os, og på en rullende tidsplan, fordi en kunde kan ompege sin egen URL på sin egen server uden nogensinde at kalde vores API. Den samme trusselsintelligens-pipeline, der driver vores offentlige scanner på check.qr.abundera.ai, kører mod hvert link vi udsteder.
Syv detektionslag, hvert med en afventende US-patentansøgning. Hvert lag bidrager til en samlet dom; et hit på et enkelt lag kan blokere en oprettelse, afvise en destinationsændring eller suspendere et allerede aktivt link.
| Lag | Hvad det fanger | Hvornår det kører |
|---|---|---|
| Redirect-kæde-mutabilitet | Hvor mange uafhængige parter der kontrollerer stien mellem vores shortlink og den endelige side. En to-hop-kæde igennem en andens redirector er en anden risikoklasse end en direkte destination. | Oprettelse, destinationsændring, rullende re-tjek |
| Multimodal payload-analyse | WiFi, kontakt, telefoni, mail, kalender, geolokation, kryptovaluta, Android-intent og inline-data-payloads får hver sin typespecifikke analysator. Hårdblokerede skemaer afvises ved indsendelse. | Oprettelse, destinationsændring |
| Crawler-vs.-browser-cloaking | Sider der serverer rent indhold til scannere og phishing til mennesker. Detekteret via parallelle hentninger med kontrolleret fingeraftryksvariance og en divergensscore. | Oprettelse, rullende re-tjek |
| Destinations-server-mutabilitet | Nyregistrerede domæner, helt nye certifikater, TLD'er med høj udskiftning, manglende HSTS og transport-scheme-degradering. Uafhængig af redirect-kæden; en statisk én-hop-kæde til et seks dage gammelt certifikat på et mistænkeligt TLD bliver stadig markeret. | Oprettelse, destinationsændring, rullende re-tjek |
| Fysisk-instans-proveniens | Crowd-sourcet hash-ledger nøglet af dekodet payload. Et enkelt QR scannet i mange spredte regioner inden for et kort tidsvindue fremstår som kandidat til klistermærkeangreb. Hvert link vi udsteder får en ren proveniens-indgang ved oprettelse, så overlay-angreb mod legitime Pro-koder opdages. | Løbende |
| Visuelt-brand-divergens | Hvis et kode bærer et brand-logo, hvis kanoniske domænesæt ikke inkluderer den dekodede destination, er koden brand-divergent. Gælder for hvert Pro-kode der bruger vores center-logo-funktion; en phisher kan ikke sende et Chase-logoet kode, der peger på et ikke-Chase-domæne. | Oprettelse, logoændring, destinationsændring |
| Sensor / venue-topologi | For venue-bundne koder (parkometre, hotel-check-in, restaurantmenuer, museumsudstillinger) tjekkes den scannende enheds omgivende RF-kontekst mod den registrerede topologi for det pågældende venue. Uoverensstemmelse returnerer en sensorkontext-anomali selv ved det allerførste scan af et bedragerisk klistermærke. Enterprise-niveau; venue-operatøren registrerer forventet topologi ved kodeoprettelse. | Hvert scan |
Problemet med kundesideændringer
Et Pro-links destinations-URL lever på kundens server, ikke vores. Kunden kan omstille example.com/promo fra en rigtig promo til en phishing-side uden nogensinde at kalde Abundera API. Vi behandler dette som den primære misbrug-sti, ikke et kanttilfælde. Rullende re-tjek mod aktive destinationer kører på en tidsplan, og vores cloaking-detektionslag er specifikt rettet mod sider der skifter efter indsendelse. Når en destination begynder at fejle tjek efter oprettelse, auto-pauses linket, ejeren får en e-mail med den specifikke dom, og hændelsen logges i revisionsloggen.
Falske positiver og klager
Trusselsintelligens tager fejl ind imellem. Et legitimt brand på et nyudstedt certifikat, en rigtig promo hvis side legitimt ændrede sig, et flyttet domæne. Hvert blokeringstilfælde og hver auto-pause inkluderer det specifikke detektionslag der udløste det, det input der triggede det, og en ét-klik-klage der eskalerer til et menneske inden for én arbejdsdag. Vi fejler til fordel for pause frem for sletning; et pauseret link kan genaktiveres på sekunder, når klagen er behandlet.
Single-region-opbevaring (Agency+ og Custom Enterprise)
For EU-only eller APAC-only-kunder kan Agency-niveau-kunder anmode om:
- D1 placeret i en enkelt jurisdiktion (EU: EEUR eller WEUR; APAC: APAC). Cloudflare overholder et
location-hint ved databaseoprettelse; vi spinner en pr.-tenant D1-shard op i den anmodede region (ADR-0010). - R2-bucket i den samme jurisdiktion, natlige krypterede D1 → R2-sikkerhedskopier lander i den matchende region.
- Zepto EU-region for transaktionel e-mail, konfigureret på serviceniveau, ingen kodeændring.
- KV forbliver global, edge-replikering er kernen i <50ms redirect-garantien. Kræver single-region KV som et hårdt krav, kontakt os; vi kan vurdere, om en regional-only Worker-variant er mulig for din kampagne.
Prisen for single-region-tilføjelsen er fast sats (ingen pr.-plads-markup) og afhænger af den specifikke kombination. Skriv til enterprise@abundera.ai med din målrettede jurisdiktion + forventede scan-volumen, og vi giver et tilbud.
Compliance-status
- GDPR, minimum-data-efter-design (kun land + enhedsklasse, ingen IP, ingen UA, ingen cookies) plus ét-klik-eksport og 30-dages hård-sletning. DPA + EU SCCs tilgængelig for alle betalte niveauer.
- CCPA, dækket af den samme eksport + sletningsoverflade. "Salg af data" er noget vi ikke gør: ingen tredjeparts-deling, ingen annoncepartnere, ingen retargeting.
- SSO + SCIM-klargøring, SAML 2.0 + OIDC single sign-on og SCIM 2.0 bruger- og gruppelivscyklus (Agency + Custom Enterprise-niveauer). RFC 7643/7644-overensstemmelse verificeret (20/20 på PingIdentity-afledt testsuite). Pr.-forbindelses funktionsflag betyder SCIM er off-som-standard og aktiveret pr. kunde; hastighedsbegrænset til 50 RPS pr. token; audit-logget. Okta/Entra/JumpCloud virker i dag som brugerdefinerede SCIM-apps, mens partnerkataloglistninger er i gang.
- SOC 2 Type II, i scoping. 6-9 måneders proces. Er dette et hårdt krav for dig, skriv til enterprise@abundera.ai; vi kan dele aktuel status + forventet tidslinje.
- PCI-DSS, uden for vores direkte scope; betalinger håndteres end-to-end af Stripe (PCI Level 1 certificeret).
Sikkerhedsoplysning
Har du fundet en sårbarhed? Skriv til security@abundera.ai. Koordineret oplysning, vi bekræfter inden for 24 timer (arbejdsdage), triagerer inden for 72 timer og koordinerer en rettelse + tidsplan for offentliggørelse med dig. Intet bug-bounty-program endnu; vi anerkender forskere offentligt på abundera.ai/security/thanks/, når en rettelse er sendt.