발급 측의 안티퀴싱. 저장 측의 데이터 거주지.
모든 Pro 링크는 발급 시, 목적지 변경 시, 그리고 순환 일정에 따라 7단계 안티퀴싱 파이프라인을 거칩니다. 스캔 로그는 국가 + 기기 유형만 기록하며 IP, 사용자 에이전트, 쿠키, 유출될 행동 프로필이 없습니다. 단일 지역 D1은 Agency 및 맞춤 Enterprise에서 제공됩니다.
수집하는 데이터
저희 서버에 있는 모든 바이트는 네 가지 버킷 중 하나에 속합니다:
계정 데이터
이메일, 요금제 계층, 요금제 상태, Stripe 고객 + 구독 ID, 선택적 팀 이름 + 워크스페이스 레이블. 이것이 전부입니다. 전화번호 없음, 주소 없음 (청구 주소는 Stripe에 보관), 행동 프로필 없음.
코드 데이터
대상 URL, 7자리 Base58 숏코드, 설정한 레이블 + 태그, 선택적 QR 디자인 (색상/로고/프레임), 선택적 비밀번호 게이트, 선택적 일정. 귀하 소유이며 언제든지 CSV로 내보낼 수 있습니다.
스캔 데이터
UTC 일별 버킷 + 국가 (CF-IPCountry 기준) + 기기 유형 (모바일/태블릿/데스크톱/알 수 없음). 원본 User-Agent는 분류 직후 폐기됩니다. IP는 데이터베이스에 저장되지 않습니다. 리디렉션 핫 경로를 위해 KV에 캐시되고 ctx.waitUntil을 통해 D1에 집계됩니다. 스캔 수 5 미만의 국가 집계는 재식별 방지를 위해 「Other」로 합산됩니다.
감사 / 청구 메타데이터
변경의 추가 전용 로그 (누가, 언제, 어떤 범위에서 무엇을 했는지), 180일 보존. Stripe 웹훅 이벤트는 멱등성을 위해 중복 제거됨, Stripe 고객 ID 외의 고객 PII 없음. GDPR 요청 로그 (내보내기/삭제/복구), 온타임 이행 증명을 위해 계정 삭제 후에도 보존.
전체 스키마는 소스 저장소의 docs/SCHEMA.md를 참조하세요. 모든 열은 보존 정책과 함께 문서화됩니다.
데이터 저장 위치
| 서비스 | 제공업체 | 지역 | 단일 지역 옵션? |
|---|---|---|---|
| 대시보드 + API | Cloudflare Pages Functions | 글로벌 엣지 (가장 가까운 PoP) | 예, Agency 이상만 |
| 코드 기록 (D1) | Cloudflare D1 (SQLite) | 프로비저닝 시 기본 지역 할당 (현재: ENAM) | 예, Agency 이상 테넌트별 샤드 |
| 리디렉션 핫 경로 (KV) | Cloudflare Workers KV | p99 50ms 미만을 위해 글로벌 엣지 복제 | 불가 (복제가 제품의 핵심) |
| 암호화 백업 | Cloudflare R2 | 버킷 생성 시 기본 지역 할당 | 예, 요청 시 EU/APAC 관할 버킷 |
| 결제 | Stripe | 미국, Stripe 자체 거주지를 통한 지역별 PII 처리 | Stripe 계약을 통해 |
| 트랜잭션 이메일 | ZeptoMail (Zoho) | 인도 (요청 시 Zoho EU 지역 제공) | 예, Zoho EU 지역 |
정확히 국경을 넘는 것
- 스캔은 손실 방식으로 국경을 넘지 않습니다. 리스본의 스캔은 리스본 Cloudflare PoP에 도달하고, 워커는 엣지에서 날짜/국가/기기를 KV에 기록하며, 기본 지역의 D1에 비동기로 집계합니다. 원래 스캐너의 IP는 HTTP 요청 기간 동안 Cloudflare의 임시 요청 상태에만 존재하며 데이터베이스에 절대 저장되지 않습니다.
- 대시보드 요청은 가장 가까운 Cloudflare PoP에서 종료되고 Cloudflare 사설 네트워크를 통해 D1을 호출합니다. Pages Functions은 할당된 지역의 D1을 읽고 씁니다. 엣지 PoP는 글로벌 정적 자산 캐시에서 HTML + JS 번들을 제공합니다.
- Stripe 웹훅은 한 번 국경을 넘습니다, Stripe (미국)이 Cloudflare Pages 엔드포인트에 POST하면, HMAC을 검증하고, 멱등성을 위해 최소 (event_id, type) 행을 기록하고, 다운스트림 이벤트를 발송합니다.
- 트랜잭션 이메일 (Zepto)은 발송마다 한 번 국경을 넘습니다, 워커가 렌더링된 템플릿을 Zepto API에 전달하면 Zepto가 수신자의 메일 서버로 배달합니다. 내용은 초대 링크, 청구 수명주기 알림, 스캔 한도 경고이며 고객 스캔 데이터는 포함되지 않습니다.
안티퀴싱 파이프라인
QR 피싱은 2026년 1분기에 146% 증가했습니다. 일반 단축 링크 업체는 고객 불만 접수 후에야 대응합니다. 저희는 발급 시, 목적지 변경 시마다, 그리고 순환 일정에 따라 모든 링크를 검사합니다. 고객이 저희 API를 호출하지 않고도 자신의 서버에서 자신의 URL을 변경할 수 있기 때문입니다. check.qr.abundera.ai의 공개 스캐너를 구동하는 것과 동일한 위협 인텔리전스 파이프라인이 저희가 발급하는 모든 링크에 적용됩니다.
각각 미국 특허 출원이 진행 중인 7개의 탐지 레이어. 각 레이어는 통합 판정에 기여하며, 어느 하나라도 적중하면 생성 차단, 목적지 변경 거부, 또는 이미 활성화된 링크 정지로 이어질 수 있습니다.
| 레이어 | 탐지 대상 | 실행 시점 |
|---|---|---|
| 리디렉션 체인 가변성 | 저희 단축 링크와 최종 페이지 사이의 경로를 독립적으로 제어하는 당사자가 얼마나 많은지. 타사 리디렉터를 통한 2단계 체인은 직접 목적지와 위험 등급이 다릅니다. | 생성, 목적지 변경, 순환 재검사 |
| 멀티모달 페이로드 분석 | WiFi, 연락처, 통화, 메일, 캘린더, 위치정보, 암호화폐, Android 인텐트, 인라인 데이터 페이로드 각각에 유형별 분석기 적용. 하드 차단 스킴은 제출 시 거부됩니다. | 생성, 목적지 변경 |
| 크롤러-브라우저 클로킹 | 스캐너에는 정상 콘텐츠를, 사람에게는 피싱을 제공하는 페이지. 제어된 핑거프린트 변이를 가진 병렬 패치와 차이 점수로 탐지됩니다. | 생성, 순환 재검사 |
| 목적지 서버 가변성 | 신규 등록 도메인, 새 인증서, 이탈률 높은 TLD, HSTS 누락, 전송 스킴 다운그레이드. 리디렉션 체인과 독립적으로 작동합니다. 의심스러운 TLD의 6일 된 인증서로 향하는 단일 홉 체인도 플래그 처리됩니다. | 생성, 목적지 변경, 순환 재검사 |
| 물리적 인스턴스 출처 | 디코딩된 페이로드를 키로 하는 크라우드소싱 해시 원장. 짧은 시간 안에 많은 지역에서 단일 QR이 스캔되면 스티커 공격 후보로 표시됩니다. 저희가 발급하는 모든 링크에는 생성 시 깨끗한 출처 항목이 부여되어, 합법적인 Pro 코드에 대한 오버레이 공격이 탐지됩니다. | 지속적 |
| 시각적 브랜드 차이 | 코드에 브랜드 로고가 있는데 해당 브랜드의 표준 도메인 집합에 디코딩된 목적지가 포함되지 않으면 브랜드 불일치로 처리됩니다. 센터 로고 기능을 사용하는 모든 Pro 코드에 적용됩니다. 피셔는 Chase 로고가 달린 코드를 비Chase 도메인으로 연결할 수 없습니다. | 생성, 로고 변경, 목적지 변경 |
| 센서 / 장소 토폴로지 | 장소에 고정된 코드 (주차 미터기, 호텔 체크인, 음식점 메뉴, 박물관 전시물)의 경우, 스캔 기기의 주변 RF 컨텍스트가 해당 장소에 등록된 토폴로지와 대조됩니다. 위조 스티커의 첫 번째 스캔에서도 센서 컨텍스트 이상으로 처리됩니다. Enterprise 요금제. 장소 운영자가 코드 생성 시 예상 토폴로지를 등록합니다. | 모든 스캔 |
고객 측 변경 문제
Pro 링크의 목적지 URL은 저희 서버가 아닌 고객 서버에 있습니다. 고객은 Abundera API를 호출하지 않고도 example.com/promo를 실제 프로모에서 피싱 페이지로 변경할 수 있습니다. 저희는 이를 엣지 케이스가 아닌 주요 악용 경로로 취급합니다. 활성 목적지에 대한 순환 재검사가 일정에 따라 실행되며, 클로킹 탐지 레이어는 제출 후 변경된 페이지를 특히 대상으로 합니다. 생성 후 검사를 통과하지 못하는 목적지가 생기면 링크는 자동 정지되고, 소유자에게 구체적인 판정 결과가 이메일로 전송되며, 감사 로그에 이벤트가 기록됩니다.
오탐 및 이의 신청
위협 인텔리전스는 때때로 틀릴 수 있습니다. 신규 인증서를 사용하는 합법적인 브랜드, 페이지가 실제로 바뀐 진짜 프로모, 이전된 도메인 등이 있습니다. 모든 차단과 자동 정지에는 작동한 특정 판정 레이어, 트리거한 입력, 그리고 영업일 기준 하루 안에 담당자에게 에스컬레이션되는 원클릭 이의 신청이 포함됩니다. 저희는 삭제보다 정지를 택합니다. 이의 신청이 통과되면 정지된 링크는 몇 초 안에 재활성화됩니다.
단일 지역 거주지 (Agency 이상 및 맞춤 Enterprise)
EU 전용 또는 APAC 전용 구매자를 위해 Agency 요금제 고객은 다음을 요청할 수 있습니다:
- 단일 관할 구역에 배치된 D1 (EU: EEUR 또는 WEUR; APAC: APAC). Cloudflare는 데이터베이스 생성 시
location힌트를 따릅니다. 요청된 지역에 테넌트별 D1 샤드를 생성합니다 (ADR-0010). - 동일 관할 구역의 R2 버킷, 야간 암호화 D1 → R2 백업이 해당 지역에 저장됩니다.
- 트랜잭션 이메일용 Zepto EU 지역, 서비스 수준에서 설정, 코드 변경 없음.
- KV는 글로벌 유지, 엣지 복제는 50ms 미만 리디렉션 보장의 핵심입니다. 단일 지역 KV가 필수 요건이라면 문의해 주세요. 캠페인에 지역 전용 워커 변형이 가능한지 검토하겠습니다.
단일 지역 애드온 가격은 정액 (시트당 가산 없음)이며 특정 조합에 따라 다릅니다. enterprise@abundera.ai로 목표 관할 구역 + 예상 스캔 볼륨을 보내주시면 견적을 드리겠습니다.
컴플라이언스 현황
- GDPR, 설계상 최소 데이터 (국가 + 기기 유형만, IP 없음, UA 없음, 쿠키 없음) + 원클릭 내보내기 및 30일 완전 삭제. 모든 유료 요금제에 DPA + EU SCC 제공.
- CCPA, 동일한 내보내기 + 삭제 기능으로 충족. 「데이터 판매」는 저희가 하는 것이 아닙니다. 제3자 공유 없음, 광고 파트너 없음, 리타겟팅 없음.
- SSO + SCIM 프로비저닝, SAML 2.0 + OIDC 단일 로그인 및 SCIM 2.0 사용자 & 그룹 수명주기 (Agency + 맞춤 Enterprise). RFC 7643/7644 준수 검증됨 (PingIdentity 파생 테스트 스위트에서 20/20). 연결별 기능 플래그로 SCIM은 기본 비활성화되며 고객별로 활성화됩니다. 토큰당 50 RPS 제한. 감사 로그 기록. Okta/Entra/JumpCloud는 현재 맞춤 SCIM 앱으로 작동하며 파트너 카탈로그 등록이 진행 중입니다.
- SOC 2 Type II, 범위 지정 중. 6-9개월 프로세스. 필수 요건이라면 enterprise@abundera.ai로 이메일을 보내주세요. 현재 상태 + 예상 일정을 공유할 수 있습니다.
- PCI-DSS, 직접 범위 외. 결제는 Stripe (PCI 레벨 1 인증)가 엔드투엔드로 처리합니다.
보안 공개
취약점을 발견하셨나요? security@abundera.ai로 이메일을 보내주세요. 조정된 공개 방식을 따릅니다. 24시간 이내 (영업일) 확인, 72시간 이내 분류, 수정 + 공개 일정을 함께 조율합니다. 아직 버그 바운티 프로그램은 없지만 수정이 출시되면 abundera.ai/security/thanks/에서 연구자를 공개적으로 인정합니다.