নিরাপত্তা ও ডেটা রেসিডেন্সি

ইস্যুয়ার পক্ষে anti-quishing। স্টোরেজ পক্ষে ডেটা রেসিডেন্সি।

প্রতিটি Pro লিঙ্ক issue-এর সময়, প্রতিটি destination পরিবর্তনে এবং rolling schedule-এ সাত-স্তরের anti-quishing pipeline-এর মধ্য দিয়ে যায়। স্ক্যান লগ শুধুমাত্র দেশ ও device-class; ফাঁস হওয়ার মতো কোনো IP, user agent, cookie বা আচরণগত প্রোফাইল নেই। Agency ও Custom Enterprise-এ single-region D1 উপলব্ধ।

আমরা যা সংগ্রহ করি

আমাদের সার্ভারে পৌঁছানো প্রতিটি byte চারটি বালতির একটিতে থাকে:

অ্যাকাউন্ট ডেটা

ইমেইল, plan tier, plan status, Stripe customer + subscription ID, ঐচ্ছিক টিম নাম + workspace label। ব্যস। কোনো ফোন নেই, কোনো ঠিকানা নেই (billing ঠিকানা Stripe-এ থাকে), কোনো আচরণগত প্রোফাইল নেই।

কোড ডেটা

গন্তব্য URL, একটি ৭-char Base58 shortcode, আপনার সেট করা label + tags, ঐচ্ছিক QR ডিজাইন (রঙ / লোগো / ফ্রেম), ঐচ্ছিক পাসওয়ার্ড গেট, ঐচ্ছিক schedule। আপনার মালিকানা; যেকোনো সময় CSV হিসেবে রপ্তানিযোগ্য।

স্ক্যান ডেটা

UTC day-bucket + দেশ (CF-IPCountry থেকে) + device class (mobile / tablet / desktop / unknown)। Raw User-Agent classification-এর পরপরই বাতিল হয়। IP কখনো database-এ প্রবেশ করে না। redirect hot path-এর জন্য KV-তে cached, ctx.waitUntil দিয়ে D1-এ aggregated। ৫ স্ক্যানের নিচে country aggregate re-identification রোধ করতে "Other"-এ fold হয়।

অডিট / billing মেটাডেটা

পরিবর্তনের append-only লগ (কে কী করেছে, কখন, কোন scope-এ), ১৮০-দিনের retention। idempotency-এর জন্য Stripe webhook ইভেন্ট deduplicated, Stripe customer ID-র বাইরে কোনো customer PII নেই। GDPR request লগ (export / delete / restore), on-time-honor প্রমাণের জন্য account deletion-এর পরেও সংরক্ষিত।

সম্পূর্ণ schema-র জন্য আমাদের source repo-তে docs/SCHEMA.md দেখুন; প্রতিটি column retention policy সহ documented।

ডেটা কোথায় থাকে

SurfaceProviderঅঞ্চলSingle-region বিকল্প?
ড্যাশবোর্ড + APICloudflare Pages FunctionsGlobal edge (নিকটতম PoP)হ্যাঁ, শুধুমাত্র Agency+
কোড রেকর্ড (D1)Cloudflare D1 (SQLite)Provisioning-এ assigned primary region (আজ: ENAM)হ্যাঁ, Agency+ per-tenant shard
Redirect hot path (KV)Cloudflare Workers KV<50ms p99-এর জন্য globally edge-replicatedউপলব্ধ নয় (replication-ই পণ্য)
এনক্রিপ্টেড ব্যাকআপCloudflare R2Bucket তৈরিতে assigned primary regionহ্যাঁ, অনুরোধে EU / APAC jurisdictional bucket
PaymentsStripeUS, Stripe-এর নিজস্ব রেসিডেন্সি দিয়ে regional PII handlingStripe চুক্তির মাধ্যমে
Transactional emailZeptoMail (Zoho)IN (অনুরোধে Zoho-র EU region উপলব্ধ)হ্যাঁ, Zoho EU region

ঠিক কী সীমান্ত পার করে

  • স্ক্যান কখনো lossy উপায়ে সীমান্ত পার করে না। লিসবন থেকে একটি স্ক্যান লিসবন Cloudflare PoP-এ পৌঁছায়, worker edge-এ KV-তে day/country/device লেখে এবং async-এ তার primary region-এ D1-এ aggregate করে। মূল scanner-এর IP HTTP request-এর সময়কালের জন্য Cloudflare-এর ephemeral request state-এ থাকে এবং আমাদের database-এ কখনো persist হয় না।
  • ড্যাশবোর্ড request নিকটতম Cloudflare PoP-এ terminate হয় এবং Cloudflare-এর private network-এ D1 call করে। আমাদের Pages Functions D1-কে তার assigned region-এ read/write করে; edge PoP global static-asset cache থেকে HTML + JS bundle serve করে।
  • Stripe webhook একবার সীমান্ত পার করে, Stripe (US) আমাদের Cloudflare Pages endpoint-এ POST করে, যা HMAC যাচাই করে, idempotency-এর জন্য একটি minimal (event_id, type) row লেখে এবং downstream ইভেন্ট dispatch করে।
  • Transactional email (Zepto) প্রতি send-এ একবার সীমান্ত পার করে, আমাদের worker একটি rendered template Zepto-র API-এ দেয়; Zepto প্রাপকের mailserver-এ deliver করে। Content হলো invite link, billing-lifecycle বিজ্ঞপ্তি ও scan-cap সতর্কতা, কোনো customer স্ক্যান ডেটা নয়।

Anti-quishing pipeline

QR phishing ২০২৬-এর Q1-এ ১৪৬% বেড়েছে। স্বাভাবিক short-link vendor customer complaint-এর পরে প্রতিক্রিয়া দেখায়। আমরা প্রতিটি লিঙ্ক issue-এর সময়, আমাদের পক্ষে destination পরিবর্তন হলে প্রতিবার এবং rolling schedule-এ পরীক্ষা করি কারণ একজন customer তাদের নিজের সার্ভারে তাদের নিজের URL repoint করতে পারেন আমাদের API কল না করেইcheck.qr.abundera.ai-এ আমাদের public scanner-কে শক্তি দেওয়া একই threat-intel pipeline আমাদের ইস্যু করা প্রতিটি লিঙ্কের বিপরীতে চলে।

সাতটি detection layer, প্রতিটিতে pending US patent application। প্রতিটি layer একটি unified verdict-এ feed করে; যেকোনো একটিতে hit একটি create block করতে, destination পরিবর্তন প্রত্যাখ্যান করতে বা ইতিমধ্যে-live লিঙ্ক suspend করতে পারে।

Layerকী ধরেকখন চলে
Redirect-chain mutabilityআমাদের short link ও চূড়ান্ত পৃষ্ঠার মধ্যে path কতজন স্বাধীন পক্ষ নিয়ন্ত্রণ করে। অন্য কারো redirector-এর মাধ্যমে two-hop chain সরাসরি destination থেকে ভিন্ন risk class।Create, destination change, rolling re-check
Multi-modal payload analysisWiFi, contact, telephony, mail, calendar, geolocation, cryptocurrency, Android intent ও inline-data payload প্রতিটি type-specific analyzer পায়। Hard-blocked scheme submit-এ refuse করে।Create, destination change
Crawler-vs-browser cloakingScanner-কে clean content ও মানুষকে phishing serve করে এমন পৃষ্ঠা। Controlled fingerprint variance ও divergence score সহ parallel fetch দিয়ে detected।Create, rolling re-check
Destination-server mutabilityনতুন-registered domain, একদম নতুন certificate, high-churn TLD, missing HSTS ও transport-scheme degradation। Redirect chain-এর স্বাধীন; একটি sketchy TLD-তে ছয়-দিন-পুরোনো cert-এ static one-hop chain তবুও flagged হয়।Create, destination change, rolling re-check
Physical-instance provenanceDecoded payload দিয়ে keyed crowd-sourced hash ledger। একটি QR কম সময়ে অনেক disparate অঞ্চলে স্ক্যান হলে sticker-attack candidate হিসেবে ওঠে। আমাদের ইস্যু করা প্রতিটি লিঙ্ক creation-এ clean provenance entry পায়, তাই legitimate Pro code-এর বিরুদ্ধে overlay attack ধরা পড়ে।Continuous
Visual-brand divergenceকোনো code যদি এমন brand logo বহন করে যার canonical-domain set decoded destination অন্তর্ভুক্ত করে না, তাহলে code টি brand-divergent। আমাদের center-logo feature ব্যবহার করা প্রতিটি Pro code-এ প্রযোজ্য; phisher Chase-logoed code non-Chase domain-এ point করে ship করতে পারবে না।Create, logo change, destination change
Sensor / venue topologyVenue-bound code-এর জন্য (parking meter, hotel check-in, রেস্টুরেন্ট মেনু, মিউজিয়াম প্রদর্শনী), scanning device-এর ambient RF context সেই venue-এর জন্য registered topology-র বিরুদ্ধে পরীক্ষা করা হয়। প্রথম স্ক্যানেও fraudulent sticker-এ sensor-context anomaly return করে। Enterprise tier; venue operator code creation-এ expected topology register করে।Every scan

Customer-side পরিবর্তনের সমস্যা

একটি Pro লিঙ্কের destination URL customer-এর সার্ভারে থাকে, আমাদের নয়। Customer Abundera API কল না করেই example.com/promo-কে real promo থেকে phishing পৃষ্ঠায় repoint করতে পারেন। আমরা এটিকে primary abuse path হিসেবে দেখি, edge case নয়। Active destination-এর বিরুদ্ধে rolling re-check schedule-এ চলে এবং আমাদের cloaking-detection layer বিশেষভাবে submit-এর পরে flip করা পৃষ্ঠাকে target করে। Creation-এর পরে destination check fail করতে শুরু করলে লিঙ্কটি auto-paused হয়, owner-কে নির্দিষ্ট verdict সহ ইমেইল করা হয় এবং আমরা audit trail-এ event log করি।

False-positive ও appeal

Threat intel কখনো কখনো ভুল হয়। নতুন-ইস্যু cert-এ legitimate brand, page সত্যিকারের পরিবর্তন হওয়া real promo, moved domain। প্রতিটি block ও প্রতিটি auto-pause-এ fire করা নির্দিষ্ট verdict layer, যা trigger করেছে তার input এবং এক business day-এর মধ্যে human-এ escalate করা one-click appeal অন্তর্ভুক্ত। আমরা delete-এর পরিবর্তে pause-এর দিকে err করি; appeal clear হলে একটি paused লিঙ্ক সেকেন্ডে re-enable করা যায়।

Single-region রেসিডেন্সি (Agency+ ও Custom Enterprise)

EU-only বা APAC-only ক্রেতাদের জন্য, Agency-tier গ্রাহকরা অনুরোধ করতে পারেন:

  • একটি single jurisdiction-এ D1 placed (EU: EEUR বা WEUR; APAC: APAC)। Cloudflare database creation-এ একটি location hint সম্মান করে; আমরা requested region-এ per-tenant D1 shard spin up করি (ADR-0010)।
  • একই jurisdiction-এ R2 bucket, নৈশ এনক্রিপ্টেড D1 → R2 ব্যাকআপ matching region-এ পৌঁছায়।
  • Transactional email-এর জন্য Zepto EU region, service level-এ configured, কোনো code পরিবর্তন নেই।
  • KV global থাকে, edge replication <50ms redirect guarantee-এর মূল। single-region KV যদি hard requirement হয়, আমাদের সাথে কথা বলুন; আমরা মূল্যায়ন করতে পারি আপনার campaign-এর জন্য regional-only Worker variant সম্ভব কিনা।

single-region add-on-এর মূল্য flat rate (কোনো per-seat markup নেই) এবং নির্দিষ্ট combination-এর উপর নির্ভর করে। আপনার target jurisdiction + projected scan volume সহ enterprise@abundera.ai-এ ইমেইল করুন এবং আমরা quote দেব।

Compliance অবস্থান

  • GDPR, ডিজাইন দ্বারা ন্যূনতম ডেটা (শুধুমাত্র দেশ + device-class, কোনো IP নেই, UA নেই, cookie নেই) এবং one-click export ও ৩০-দিনের hard-delete। সব পেইড tier-এর জন্য DPA + EU SCC উপলব্ধ।
  • CCPA, একই export + delete surface দিয়ে covered। "ডেটা বিক্রয়" আমরা করি না: কোনো third-party sharing নেই, কোনো ad partner নেই, কোনো retargeting নেই।
  • SSO + SCIM provisioning, SAML 2.0 + OIDC single sign-on ও SCIM 2.0 user & group lifecycle (Agency + Custom Enterprise tier)। RFC 7643/7644 compliance যাচাইকৃত (PingIdentity-derived test suite-এ ২০/২০)। Per-connection feature flag মানে SCIM off-by-default এবং per customer enabled; rate-limited ৫০ RPS per token; audit-logged। Okta/Entra/JumpCloud আজ custom-SCIM app হিসেবে কাজ করে যখন partner-catalog listing চলছে।
  • SOC 2 Type II, scoping-এ। ৬-৯ মাসের প্রক্রিয়া। এটি আপনার কাছে hard requirement হলে enterprise@abundera.ai-এ ইমেইল করুন; আমরা বর্তমান status + projected timeline শেয়ার করতে পারি।
  • PCI-DSS, আমাদের জন্য সরাসরি scope-এর বাইরে; payments Stripe (PCI Level 1 certified) দ্বারা end-to-end handled।

নিরাপত্তা প্রকাশনা

কোনো vulnerability পেয়েছেন? security@abundera.ai-এ ইমেইল করুন। Coordinated disclosure, আমরা ২৪ ঘণ্টার মধ্যে (business day) স্বীকার করব, ৭২ ঘণ্টার মধ্যে triage করব এবং আপনার সাথে fix + disclosure timeline coordinate করব। এখনো কোনো bug bounty program নেই; একটি fix ship হলে আমরা abundera.ai/security/thanks/-এ গবেষকদের প্রকাশ্যে স্বীকার করি।