Chống quishing phía nhà phát hành. Lưu trú dữ liệu phía lưu trữ.
Mỗi liên kết Pro chạy qua quy trình chống quishing bảy lớp khi phát hành, mỗi lần thay đổi đích đến và theo lịch cuốn chiếu. Nhật ký quét chỉ ghi quốc gia và loại thiết bị, không có IP, không user agent, không cookie, không hồ sơ hành vi để rò rỉ. D1 đơn vùng có sẵn trên Agency và Custom Enterprise.
Dữ liệu chúng tôi thu thập
Mỗi byte trên server của chúng tôi thuộc một trong bốn nhóm:
Dữ liệu tài khoản
Email, bậc gói, trạng thái gói, ID khách hàng + đăng ký Stripe, tên nhóm tùy chọn + nhãn workspace. Chỉ vậy thôi. Không điện thoại, không địa chỉ (địa chỉ thanh toán ở lại Stripe), không hồ sơ hành vi.
Dữ liệu mã
URL đích đến, shortcode Base58 7 ký tự, nhãn + thẻ bạn đặt, thiết kế QR tùy chọn (màu sắc / logo / khung), cổng mật khẩu tùy chọn, lịch tùy chọn. Thuộc sở hữu của bạn; có thể xuất dạng CSV bất cứ lúc nào.
Dữ liệu quét
Nhóm ngày UTC + quốc gia (từ CF-IPCountry) + loại thiết bị (mobile / tablet / desktop / unknown). User-Agent thô bị loại bỏ ngay sau khi phân loại. IP không bao giờ vào cơ sở dữ liệu. Được lưu trong KV cho đường nóng chuyển hướng, tổng hợp vào D1 qua ctx.waitUntil. Tổng hợp quốc gia dưới 5 lượt quét gộp vào "Other" để ngăn tái nhận dạng.
Metadata kiểm tra / thanh toán
Nhật ký chỉ thêm về các thay đổi (ai làm gì, khi nào, trong phạm vi nào), lưu trữ 180 ngày. Sự kiện webhook Stripe được loại trùng lặp cho tính idempotent, không có PII khách hàng ngoài ID khách hàng Stripe. Nhật ký yêu cầu GDPR (xuất / xóa / khôi phục), được giữ lại sau khi xóa tài khoản để làm bằng chứng thực hiện đúng hạn.
Để xem schema đầy đủ, xem docs/SCHEMA.md trong repo nguồn; mỗi cột được ghi lại với chính sách lưu trữ.
Dữ liệu lưu ở đâu
| Bề mặt | Nhà cung cấp | Vùng | Tùy chọn đơn vùng? |
|---|---|---|---|
| Dashboard + API | Cloudflare Pages Functions | Edge toàn cầu (PoP gần nhất) | Có, chỉ Agency trở lên |
| Hồ sơ mã (D1) | Cloudflare D1 (SQLite) | Vùng chính được gán khi cấp phát (hiện tại: ENAM) | Có, phân mảnh theo tenant Agency trở lên |
| Đường nóng chuyển hướng (KV) | Cloudflare Workers KV | Nhân rộng edge toàn cầu cho <50ms p99 | Không có sẵn (nhân rộng là sản phẩm) |
| Bản sao lưu được mã hóa | Cloudflare R2 | Vùng chính được gán khi tạo bucket | Có, bucket thẩm quyền EU / APAC theo yêu cầu |
| Thanh toán | Stripe | US, xử lý PII theo vùng qua lưu trú của Stripe | Qua hợp đồng Stripe |
| Email giao dịch | ZeptoMail (Zoho) | IN (Vùng EU của Zoho có sẵn theo yêu cầu) | Có, vùng EU của Zoho |
Những gì vượt biên giới, cụ thể
- Lượt quét không bao giờ vượt biên giới theo cách gây mất mát. Một lượt quét từ Lisbon chạm PoP Cloudflare Lisbon, worker ghi ngày/quốc gia/thiết bị vào KV tại edge và tổng hợp không đồng bộ vào D1 trong vùng chính. IP của người quét tồn tại trong trạng thái yêu cầu tạm thời của Cloudflare trong thời gian HTTP request và không bao giờ được lưu vào cơ sở dữ liệu của chúng tôi.
- Yêu cầu dashboard kết thúc tại PoP Cloudflare gần nhất và gọi D1 qua mạng riêng của Cloudflare. Pages Functions của chúng tôi đọc/ghi D1 trong vùng được gán; PoP edge phục vụ bundle HTML + JS từ bộ nhớ đệm tài sản tĩnh toàn cầu.
- Webhook Stripe vượt biên giới một lần, Stripe (US) POST đến endpoint Cloudflare Pages của chúng tôi, xác minh HMAC, ghi hàng tối thiểu (event_id, type) cho tính idempotent và gửi đi sự kiện downstream.
- Email giao dịch (Zepto) vượt biên giới một lần mỗi lần gửi, worker của chúng tôi chuyển template được render cho API của Zepto; Zepto giao đến mailserver người nhận. Nội dung là liên kết mời, thông báo vòng đời thanh toán và cảnh báo giới hạn quét, không có dữ liệu quét của khách hàng.
Quy trình chống quishing
Lừa đảo qua QR tăng 146% trong Q1 2026. Nhà cung cấp liên kết ngắn thông thường phản ứng sau khi có khiếu nại từ khách hàng. Chúng tôi kiểm tra mỗi liên kết khi phát hành, mỗi lần đích đến được thay đổi từ phía chúng tôi, và theo lịch cuốn chiếu vì khách hàng có thể trỏ lại URL của họ trên server của họ mà không cần gọi API của chúng tôi. Cùng quy trình threat-intel vận hành máy quét công khai tại check.qr.abundera.ai chạy trên mỗi liên kết chúng tôi phát hành.
Bảy lớp phát hiện, mỗi lớp có đơn đăng ký bằng sáng chế Hoa Kỳ đang chờ xử lý. Mỗi lớp đưa vào một phán quyết thống nhất; một lần kích hoạt bất kỳ lớp nào có thể chặn tạo mã, từ chối thay đổi đích đến hoặc tạm ngừng liên kết đang hoạt động.
| Lớp | Những gì nó phát hiện | Khi nào chạy |
|---|---|---|
| Khả năng thay đổi chuỗi chuyển hướng | Bao nhiêu bên độc lập kiểm soát đường dẫn giữa liên kết ngắn của chúng tôi và trang cuối. Chuỗi hai bước qua bộ chuyển hướng của bên khác là loại rủi ro khác so với đích đến trực tiếp. | Tạo, thay đổi đích đến, kiểm tra lại cuốn chiếu |
| Phân tích payload đa phương thức | Payload WiFi, liên hệ, điện thoại, email, lịch, định vị địa lý, tiền điện tử, Android intent và inline-data mỗi loại có bộ phân tích riêng. Các scheme bị chặn cứng sẽ từ chối khi gửi. | Tạo, thay đổi đích đến |
| Cloaking crawler so với trình duyệt | Các trang phục vụ nội dung sạch cho bộ quét và lừa đảo cho người dùng thật. Phát hiện bằng cách tải song song với biến thể fingerprint có kiểm soát và điểm phân kỳ. | Tạo, kiểm tra lại cuốn chiếu |
| Khả năng thay đổi server đích | Tên miền đăng ký gần đây, chứng chỉ mới, TLD có tỷ lệ thay đổi cao, thiếu HSTS và xuống cấp transport-scheme. Độc lập với chuỗi chuyển hướng; chuỗi một bước tĩnh đến chứng chỉ sáu ngày tuổi trên TLD đáng ngờ vẫn bị gắn cờ. | Tạo, thay đổi đích đến, kiểm tra lại cuốn chiếu |
| Nguồn gốc phiên bản vật lý | Sổ cái hash được đóng góp cộng đồng, khóa bằng payload đã giải mã. Một QR duy nhất được quét trên nhiều vùng khác nhau trong khoảng thời gian ngắn xuất hiện như ứng viên tấn công dán nhãn. Mỗi liên kết chúng tôi phát hành có mục nguồn gốc sạch khi tạo, nên các cuộc tấn công chồng phủ lên mã Pro hợp lệ bị phát hiện. | Liên tục |
| Phân kỳ thương hiệu trực quan | Nếu một mã mang logo thương hiệu mà tập tên miền chuẩn không bao gồm đích đến đã giải mã, mã đó bị phân kỳ thương hiệu. Áp dụng cho mỗi mã Pro sử dụng tính năng logo trung tâm; kẻ lừa đảo không thể phát hành mã mang logo Chase trỏ đến tên miền không phải Chase. | Tạo, thay đổi logo, thay đổi đích đến |
| Cảm biến / cấu trúc liên kết địa điểm | Đối với mã gắn địa điểm (đồng hồ đỗ xe, check-in khách sạn, thực đơn nhà hàng, trưng bày bảo tàng), bối cảnh RF xung quanh của thiết bị quét được kiểm tra với cấu trúc liên kết đã đăng ký cho địa điểm đó. Không khớp trả về bất thường ngữ cảnh cảm biến ngay cả ở lần quét đầu tiên của nhãn giả. Bậc Enterprise; người vận hành địa điểm đăng ký cấu trúc liên kết dự kiến khi tạo mã. | Mỗi lần quét |
Vấn đề thay đổi phía khách hàng
URL đích đến của liên kết Pro nằm trên server của khách hàng, không phải của chúng tôi. Khách hàng có thể trỏ lại example.com/promo từ promo thật sang trang lừa đảo mà không cần gọi Abundera API. Chúng tôi coi đây là đường tấn công lạm dụng chính, không phải trường hợp ngoại lệ. Kiểm tra lại cuốn chiếu trên các đích đến đang hoạt động chạy theo lịch, và lớp phát hiện cloaking của chúng tôi nhắm cụ thể vào các trang lật sau khi gửi. Khi đích đến bắt đầu thất bại kiểm tra sau khi tạo, liên kết bị tự động tạm ngừng, chủ sở hữu được gửi email với phán quyết cụ thể và chúng tôi ghi sự kiện vào nhật ký kiểm tra.
Kết quả dương tính giả và kháng cáo
Threat intel đôi khi sai. Một thương hiệu hợp lệ trên chứng chỉ mới phát hành, một promo thật mà trang đã thay đổi hợp lệ, một tên miền đã chuyển. Mỗi lần chặn và mỗi lần tự động tạm ngừng đều bao gồm lớp phán quyết cụ thể đã kích hoạt, đầu vào gây ra nó và kháng cáo một cú nhấp leo thang đến người xử lý trong vòng một ngày làm việc. Chúng tôi thiên về tạm ngừng hơn là xóa; liên kết bị tạm ngừng có thể được bật lại trong vài giây sau khi kháng cáo được giải quyết.
Lưu trú đơn vùng (Agency trở lên và Custom Enterprise)
Đối với người mua chỉ EU hoặc chỉ APAC, khách hàng bậc Agency có thể yêu cầu:
- D1 đặt trong một thẩm quyền duy nhất (EU: EEUR hoặc WEUR; APAC: APAC). Cloudflare tôn trọng gợi ý
locationkhi tạo cơ sở dữ liệu; chúng tôi khởi động phân mảnh D1 theo tenant trong vùng được yêu cầu (ADR-0010). - Bucket R2 trong cùng thẩm quyền, bản sao lưu D1 → R2 được mã hóa hàng đêm đến vùng phù hợp.
- Vùng EU Zepto cho email giao dịch, được cấu hình ở cấp dịch vụ, không cần thay đổi code.
- KV vẫn toàn cầu, nhân rộng edge là cốt lõi của cam kết chuyển hướng <50ms. Nếu KV đơn vùng là yêu cầu cứng, hãy liên hệ với chúng tôi; chúng tôi có thể đánh giá xem biến thể Worker chỉ theo vùng có khả thi không cho chiến dịch của bạn.
Giá cho add-on đơn vùng là giá cố định (không tính phí mỗi chỗ) và phụ thuộc vào tổ hợp cụ thể. Email enterprise@abundera.ai với thẩm quyền mục tiêu + lượng quét dự kiến và chúng tôi sẽ báo giá.
Tư thế tuân thủ
- GDPR, dữ liệu tối thiểu theo thiết kế (chỉ quốc gia + loại thiết bị, không IP, không UA, không cookie) cộng với xuất một cú nhấp và xóa cứng 30 ngày. DPA + EU SCCs có sẵn cho tất cả bậc trả phí.
- CCPA, được bao gồm bởi cùng bề mặt xuất + xóa. "Bán dữ liệu" không phải thứ chúng tôi làm: không chia sẻ bên thứ ba, không đối tác quảng cáo, không theo dõi lại.
- SSO + cấp phát SCIM, Đăng nhập một lần SAML 2.0 + OIDC và vòng đời người dùng & nhóm SCIM 2.0 (bậc Agency + Custom Enterprise). Tuân thủ RFC 7643/7644 được xác minh (20/20 trên bộ test PingIdentity). Cờ tính năng theo kết nối có nghĩa SCIM tắt theo mặc định và được bật theo từng khách hàng; giới hạn 50 RPS mỗi token; ghi nhật ký kiểm tra. Okta/Entra/JumpCloud hoạt động hôm nay dưới dạng ứng dụng SCIM tùy chỉnh trong khi danh sách catalog đối tác đang tiến hành.
- SOC 2 Type II, đang xác định phạm vi. Quy trình 6-9 tháng. Nếu đây là yêu cầu cứng với bạn, email enterprise@abundera.ai; chúng tôi có thể chia sẻ trạng thái hiện tại + mốc thời gian dự kiến.
- PCI-DSS, ngoài phạm vi trực tiếp của chúng tôi; thanh toán được xử lý end-to-end bởi Stripe (chứng nhận PCI Level 1).
Công bố bảo mật
Tìm thấy lỗ hổng? Email security@abundera.ai. Công bố có phối hợp, chúng tôi sẽ xác nhận trong 24 giờ (ngày làm việc), phân loại trong 72 giờ và phối hợp lịch sửa + công bố với bạn. Chưa có chương trình bug bounty; chúng tôi có ghi nhận công khai các nhà nghiên cứu tại abundera.ai/security/thanks/ sau khi bản sửa được ra mắt.