Anti-quishing på utfärdarens sida. Dataplacering på lagringssidan.
Varje Pro-länk körs genom ett sjulagers anti-quishing-pipeline vid utfärdandet, vid varje destinationsändring och löpande. Skanningsloggen innehåller bara land och enhetsklass; det finns ingen IP, ingen user agent, ingen cookie och ingen beteendeprofil att läcka. Enkelsregions D1 finns för Agency och Custom Enterprise.
Data vi samlar in
Varje byte som hamnar på våra servrar tillhör en av fyra kategorier:
Kontodata
E-postadress, plannivå, planstatus, Stripe-kund- och prenumerations-ID:n, valfritt teamnamn och arbetsyteetikett. Det är allt. Inget telefonnummer, ingen adress (faktureringsadress stannar hos Stripe), ingen beteendeprofil.
Koddata
Mål-URL:en, en 7-tecken Base58-kortkod, en etikett och taggar du ställer in, valfri QR-design (färger / logotyp / ram), valfri lösenordsgrind, valfritt schema. Ägs av dig; exporterbar som CSV när som helst.
Skanningsdata
UTC-dagsbucket + land (från CF-IPCountry) + enhetsklass (mobil / surfplatta / dator / okänd). Rå User-Agent kasseras omedelbart efter klassificering. IP lagras aldrig i databasen. Cachas i KV för omdirigeringens kritiska väg, aggregeras in i D1 via ctx.waitUntil. Landsaggregat under 5 skanningar slås ihop till "Other" för att motverka reidentifiering.
Gransknings- och faktureringsmetadata
Appendonly-logg över ändringar (vem gjorde vad, när och i vilket scope), 180 dagars retention. Stripe-webhook-händelser avduplicerade för idempotens, ingen kund-PII bortom Stripe-kund-ID:t. GDPR-förfråganlogg (export / radering / återställning), bevaras efter kontoradering som bevis på rätta behandlingstider.
Det fullständiga schemat finns i docs/SCHEMA.md i vårt källrepo; varje kolumn är dokumenterad med en retentionspolicy.
Var datan lagras
| Yta | Leverantör | Region | Enkelsregionsalternativ? |
|---|---|---|---|
| Dashboard + API | Cloudflare Pages Functions | Global edge (närmaste PoP) | Ja, enbart Agency+ |
| Kodposter (D1) | Cloudflare D1 (SQLite) | Primärregion tilldelad vid provisionering (i dag: ENAM) | Ja, per-tenant-shard för Agency+ |
| Omdirigeringens kritiska väg (KV) | Cloudflare Workers KV | Globalt edge-replikerat för <50ms p99 | Ej tillgängligt (replikering är produkten) |
| Krypterade säkerhetskopior | Cloudflare R2 | Primärregion tilldelad vid bucket-skapande | Ja, EU- / APAC-jurisdiktionsbucket på begäran |
| Betalningar | Stripe | USA, regional PII-hantering via Stripes egen placering | Via Stripe-kontrakt |
| Transaktionell e-post | ZeptoMail (Zoho) | IN (Zohos EU-region tillgänglig på begäran) | Ja, Zoho EU-region |
Exakt vad som passerar en gräns
- Skanningar passerar aldrig en gräns på ett okontrollerat sätt. En skanning från Lissabon träffar Cloudflares PoP i Lissabon, workern skriver dag/land/enhet till KV vid edge:en och aggregerar asynkront till D1 i sin primärregion. Den ursprungliga skannerens IP lever i Cloudflares flyktiga förfrågestatus under HTTP-förfrågans varaktighet och bevaras aldrig i vår databas.
- Dashboard-förfrågningar avslutas vid närmaste Cloudflare-PoP och anropar D1 via Cloudflares privata nätverk. Våra Pages Functions läser/skriver D1 i sin tilldelade region; edge-PoP:en serverar HTML + JS-bunten från den globala cachén för statiska tillgångar.
- Stripe-webhooks passerar gränsen en gång, Stripe (USA) POST:ar till vår Cloudflare Pages-endpoint, som verifierar HMAC:en, skriver en minimal rad (event_id, type) för idempotens och skickar vidare händelser nedströms.
- Transaktionell e-post (Zepto) passerar gränsen en gång per sändning, vår worker levererar en renderad mall till Zeptos API; Zepto levererar till mottagarens mailserver. Innehåll är inbjudningslänkar, faktureringslivscykelnotiser och skanningstakvarninar, inga kundskanningsdata.
Anti-quishing-pipeline
QR-nätfiske ökade med 146 % under Q1 2026. Den vanliga korttlänksleverantören reagerar efter ett kundklagomål. Vi kontrollerar varje länk vid utfärdandet, varje gång destinationen ändras på vår sida, och löpande, för en kund kan peka om sin egen URL på sin egen server utan att någonsin anropa vårt API. Samma hotinformationspipeline som driver vår publika skanner på check.qr.abundera.ai körs mot varje länk vi utfärdar.
Sju detektionslager, vart och ett med en pågående amerikansk patentansökan. Varje lager matar ett enhetligt utlåtande; ett träff på ett enda lager kan blockera ett skapande, avvisa en destinationsändring eller suspendera en redan aktiv länk.
| Lager | Vad det fångar | När det körs |
|---|---|---|
| Omdirigeringskedjans föränderlighet | Hur många oberoende parter som kontrollerar vägen mellan vår korttlänk och den slutliga sidan. En tvåhoppkedja via någon annans omdirigering är en annan riskklass än en direkt destination. | Skapande, destinationsändring, löpande omkontroll |
| Multimodal nyttolastanalys | WiFi, kontakt, telefoni, e-post, kalender, geolokalisering, kryptovaluta, Android Intent och inline-datanyttolaster får var sin typspecifik analysator. Hårdblockerade scheman avvisas vid inlämning. | Skapande, destinationsändring |
| Maskering mot crawler/webbläsare | Sidor som visar rent innehåll för skannrar och nätfiske för människor. Detekteras via parallella hämtningar med kontrollerad fingeravtrycksvariation och ett divergenspoäng. | Skapande, löpande omkontroll |
| Destinationsserverns föränderlighet | Nyregistrerade domäner, nya certifikat, hög-omsättnings-TLD:er, saknad HSTS och transport-schema-degradering. Oberoende av omdirigeringskedjan; en statisk etthopp-kedja till ett sexdagars gammalt certifikat på en tveksam TLD flaggas ändå. | Skapande, destinationsändring, löpande omkontroll |
| Fysisk instansens ursprung | Folkmassebaserat hash-register indexerat på avkodad nyttolast. En enskild QR-kod som skannas i många skilda regioner under ett kort tidsfönster klassas som klistraangreppskandidant. Varje länk vi utfärdar får en ren ursprungspost vid skapandet, så att överlagringsangrepp mot legitima Pro-koder fångas upp. | Kontinuerlig |
| Visuell varumärkesdivergens | Om en kod bär en varumärkeslogotyp vars kanoniska domänmängd inte inkluderar den avkodade destinationen är koden varumärkesdivergent. Gäller varje Pro-kod som använder vår mittlogotypfunktion; en bedragare kan inte skicka en Chase-logotypad kod som pekar på en icke-Chase-domän. | Skapande, logotypändring, destinationsändring |
| Sensor- / platsens topologi | För platsanknutna koder (parkeringsautomater, hotellincheckning, restaurangmenyer, museiutställningar) kontrolleras den skannande enhetens omgivande RF-kontext mot den registrerade topologin för den platsen. En avvikelse returnerar en sensorkontext-anomali redan vid den allra första skanningen av ett bedrägligt klistermärke. Enterprise-nivå; platsoperatören registrerar förväntad topologi vid kodskapandet. | Varje skanning |
Problemet med kundernas egna ändringar
En Pro-länks destinations-URL finns på kundens server, inte vår. Kunden kan peka om example.com/promo från en riktig kampanj till en nätfiskesida utan att någonsin anropa Abundera API. Vi behandlar detta som det primära missbruksmönstret, inte ett kantfall. Löpande omkontroller av aktiva destinationer körs enligt schema, och vårt maskeringsdetektionslager riktar sig specifikt mot sidor som förändras efter inlämning. När en destination börjar underkännas efter skapandet pausas länken automatiskt, ägaren e-postas med det specifika utlåtandet och händelsen loggas i granskningsspåret.
Falska positiva och överklaganden
Hotinformation har fel ibland. Ett legitimt varumärke på ett nyutfärdat certifikat, en riktig kampanj vars sida legitimt ändrats, en flyttad domän. Varje blockering och varje automatisk paus inkluderar det specifika utlåtandelagret som utlöstes, den indata som triggade det och ett ettklicksöverklagande som eskalerar till en människa inom en arbetsdag. Vi väljer att pausa snarare än radera; en pausad länk kan återaktiveras på sekunder när överklagandet godkänts.
Enkelsregionsplacering (Agency+ och Custom Enterprise)
För köpare som enbart vill ha EU eller APAC kan Agency-nivåkunder begära:
- D1 placerad i en enskild jurisdiktion (EU: EEUR eller WEUR; APAC: APAC). Cloudflare respekterar en
location-ledtråd vid databasskapande; vi skapar en per-tenant D1-shard i den begärda regionen (ADR-0010). - R2-bucket i samma jurisdiktion, nattliga krypterade D1 → R2-säkerhetskopior hamnar i matchande region.
- Zepto EU-region för transaktionell e-post, konfigurerad på servicenivå, ingen kodändring.
- KV förblir globalt, edge-replikering är kärnan i garantin om <50ms omdirigering. Om enkelsregions-KV är ett hårt krav, kontakta oss; vi kan utvärdera om en regionsbegränsad Worker-variant är genomförbar för din kampanj.
Priset för enkelsregionsutökning är fast (inget per-seat-påslag) och beror på den specifika kombinationen. E-posta enterprise@abundera.ai med din måljurisdiktion och beräknad skanningsvolym, så skickar vi en offert.
Efterlevnadsläge
- GDPR, minimala data per design (bara land och enhetsklass, ingen IP, ingen UA, inga cookies) plus export med ett klick och hård radering efter 30 dagar. DPA + EU SCC:er tillgängliga för alla betalande nivåer.
- CCPA, täcks av samma export- och raderingsyta. "Försäljning av data" är inget vi gör: ingen tredjepartsdelning, inga annonspartners, ingen återmarknadsföring.
- CPA / VCDPA, täcks av samma export- och raderingsyta som CCPA.
- SSO + SCIM-provisionering, SAML 2.0 + OIDC enkel inloggning och SCIM 2.0 användare & gruppslivscykel (Agency + Custom Enterprise-nivåer). RFC 7643/7644-efterlevnad verifierad (20/20 på PingIdentity-härledd testsvit). Per-anslutnings-funktionsflagga innebär att SCIM är av som standard och aktiveras per kund; hastighetsbegränsat till 50 RPS per token; granskningsloggat. Okta/Entra/JumpCloud fungerar i dag som anpassade SCIM-appar medan partnerkatalogslistningar pågår.
- SOC 2 Type II, under scoping. 6-9 månaders process. Om detta är ett hårt krav för dig, e-posta enterprise@abundera.ai; vi kan dela aktuell status och beräknad tidslinje.
- PCI-DSS, utanför vårt direkta scope; betalningar hanteras från start till slut av Stripe (PCI Level 1-certifierat).
Säkerhetsavslöjande
Hittade en sårbarhet? E-posta security@abundera.ai. Samordnat avslöjande, vi bekräftar inom 24 timmar (arbetsdagar), triagerar inom 72 timmar och samordnar en lösning och en avslöjandetidslinje med dig. Inget bug bounty-program ännu; vi erkänner forskare offentligt på abundera.ai/security/thanks/ när en lösning levereras.