{
  "generated_at": "2026-08-15T15:17:14.537Z",
  "license": {
    "name": "CC BY 4.0",
    "url": "https://creativecommons.org/licenses/by/4.0/",
    "attribution": "Works in Korea?"
  },
  "services_total": 106,
  "last_run": {
    "started_at": "2026-08-15T08:07:45.107Z",
    "finished_at": "2026-08-15T08:18:38.200Z",
    "duration_ms": 653093,
    "vantage_point": {
      "id": "github-actions",
      "country": "us",
      "region": "Illinois",
      "ip_asn": "AS8075"
    },
    "services_total": 106,
    "services_probed": 106,
    "signals_measured": 258,
    "signals_unknown": 378,
    "changes": 66,
    "errors": []
  },
  "note": "Every signal carries measured_at, method and confidence. A confidence of \"unknown\" means we did not measure it — the evidence object says why. Do not treat a missing value as a negative result.",
  "endpoints": {
    "services": "/api/v1/services.json",
    "service": "/api/v1/services/{id}.json",
    "changes": "/api/v1/changes.json",
    "meta": "/api/v1/meta.json"
  },
  "services": [
    {
      "id": "11st",
      "name": {
        "en": "11st",
        "ko": "11번가"
      },
      "url": "https://www.11st.co.kr",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "397938216",
        "android_package": "com.elevenst",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 706,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.11st.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.11st.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.elevenst",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.elevenst&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.11st.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ably",
      "name": {
        "en": "Ably",
        "ko": "에이블리"
      },
      "url": "https://a-bly.com",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1084960428",
        "android_package": "com.banhala.android",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://m.a-bly.com/",
                "redirected": true,
                "elapsed_ms": 2295,
                "body_sha256": "b0a5490c9386d48f8d05c13c0eaf4c7c7188febae3da64ce78930528796a0ea7",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://a-bly.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://a-bly.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://a-bly.com",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "aladin",
      "name": {
        "en": "Aladin",
        "ko": "알라딘"
      },
      "url": "https://www.aladin.co.kr",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.aladin.co.kr/cs_center/wcs_faq_list.aspx?CategoryId=237&UpperId=237",
        "english_url": null,
        "ios_app_id": "365898918",
        "android_package": "kr.co.aladin.third_shop",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.aladin.co.kr/home/welcome.aspx",
                "redirected": true,
                "elapsed_ms": 5955,
                "body_sha256": "c1a313b0999b320a6ca77540bdb224a1a57a97d057cb08211215294891b3efcc",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://www.aladin.co.kr/shop/wbrowse.aspx?CID=106176",
                "https://www.aladin.co.kr/shop/wbrowse.aspx?CID=106176"
              ],
              "zh": [
                "https://www.aladin.co.kr/shop/wbrowse.aspx?CID=78353"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.aladin.co.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.09,
            "hangul_char_ratio": 0.6,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.aladin.co.kr/join",
            "final_url": "https://www.aladin.co.kr/join",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입"
            ],
            "form_input_count": 2,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.aladin.co.kr/join",
                "status": 200,
                "used": true
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "365898918",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=365898918&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "kr.co.aladin.third_shop",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=kr.co.aladin.third_shop&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.aladin.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.aladin.co.kr/cs_center/wcs_faq_list.aspx?CategoryId=237&UpperId=237",
                "status": 200,
                "chars": 5801
              },
              {
                "url": "https://www.aladin.co.kr",
                "status": 200,
                "chars": 8000
              },
              {
                "url": "https://www.aladin.co.kr/cs_center/wcs_faq_list.aspx?CategoryId=237&UpperId=237",
                "status": 200,
                "chars": 5801
              },
              {
                "url": "https://www.aladin.co.kr/cs_center/wcs_faq_list.aspx?CategoryId=238&UpperId=238",
                "status": 200,
                "chars": 5777
              }
            ],
            "content_sha256": "d034634f280f8636906ca3b2c1230b4170126984ca7eca6bdc17f198783a0ce3",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.047,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "amc",
      "name": {
        "en": "Asan Medical Center",
        "ko": "서울아산병원"
      },
      "url": "https://www.amc.seoul.kr",
      "category": "healthcare",
      "importance": 2,
      "hints": {
        "signup_url": "https://www.amc.seoul.kr/asan/member/join/intro.do",
        "checkout_url": null,
        "support_url": "https://www.amc.seoul.kr/asan/custom/customervoice/customerVoiceInfo.do",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.amc.mphr1.mphrui",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.amc.seoul.kr/asan/main.do",
                "redirected": true,
                "elapsed_ms": 5141,
                "body_sha256": "9d9c7be235863d11ad0a5cc2fe7ed42adec8ac8ac5e9b2f63e7ac6e02e949ecb",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "http://eng.amc.seoul.kr/gb/lang/main.do"
              ],
              "ja": [
                "http://jpn.amc.seoul.kr/gb/lang/jpn/main.do"
              ],
              "zh": [
                "http://chn.amc.seoul.kr/gb/lang/main.do"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.amc.seoul.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.049,
            "hangul_char_ratio": 0.684,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.amc.seoul.kr/asan/member/join/intro.do",
            "final_url": "https://www.amc.seoul.kr/asan/member/join/intro.do",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "가입하기"
            ],
            "form_input_count": 5,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.amc.seoul.kr/asan/member/join/intro.do",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.amc.seoul.kr",
                "status": null,
                "scanned": false,
                "reason": "TypeError: fetch failed"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.amc.seoul.kr/asan/custom/customervoice/customerVoiceInfo.do",
                "status": 200,
                "chars": 3863
              },
              {
                "url": "https://www.amc.seoul.kr",
                "status": 200,
                "chars": 3596
              },
              {
                "url": "https://www.amc.seoul.kr/asan/healthtv/video/videoCategoryList.do?categoryCode=C02009001&amcTacticsYn=B",
                "status": 200,
                "chars": 3408
              },
              {
                "url": "https://www.amc.seoul.kr/asan/healthtv/video/videoCategoryList.do?categoryCode=C02009002&amcTacticsYn=V",
                "status": 200,
                "chars": 3467
              }
            ],
            "content_sha256": "9ac0772dd13b2bece26de32174437a1ce567cb92b3c923c780aa92333c4ab276",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.07,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "auction",
      "name": {
        "en": "Auction",
        "ko": "옥션"
      },
      "url": "https://www.auction.co.kr",
      "category": "shopping",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "380239756",
        "android_package": "com.ebay.kr.auction",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.auction.co.kr/",
                "redirected": false,
                "elapsed_ms": 2217,
                "body_sha256": "50b9608b43bea0e392a08beaff25fcf1d3d1e8dc7c253c41d3e33019db29b971",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.auction.co.kr/join",
                "status": 403,
                "used": false
              },
              {
                "url": "https://www.auction.co.kr (이하 후보)",
                "status": 403,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.auction.co.kr",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "baemin",
      "name": {
        "en": "Baemin",
        "ko": "배달의민족"
      },
      "url": "https://www.baemin.com",
      "category": "delivery",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "378084485",
        "android_package": "com.sampleapp",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 650,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.baemin.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.baemin.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.sampleapp",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.sampleapp&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.baemin.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "catchtable",
      "name": {
        "en": "CatchTable",
        "ko": "캐치테이블"
      },
      "url": "https://www.catchtable.co.kr",
      "category": "delivery",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1485193566",
        "android_package": "co.kr.catchtable.android.catchtable_app",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1299,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.catchtable.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.catchtable.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.catchtable.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "cgv",
      "name": {
        "en": "CGV",
        "ko": "CGV"
      },
      "url": "http://www.cgv.co.kr",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7010&brnd_cd=1000&mcht_no=1000&coop_return_url=https%3A%2F%2Fcgv.co.kr",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "6738896323",
        "android_package": "co.kr.cgv.cjcgv",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://cgv.co.kr/",
                "redirected": true,
                "elapsed_ms": 3588,
                "body_sha256": "7cd4ae1ea02652580bce82d1e046a587e9c6ecae2372ad3d69d64cc1bf8906f1",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7010&brnd_cd=1000&mcht_no=1000&coop_return_url=https%3A%2F%2Fcgv.co.kr",
            "attempts": [
              {
                "url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7010&brnd_cd=1000&mcht_no=1000&coop_return_url=https%3A%2F%2Fcgv.co.kr",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "http://www.cgv.co.kr",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "chingu-mobile",
      "name": {
        "en": "Chingu Mobile",
        "ko": "친구모바일"
      },
      "url": "https://www.chingumobile.com",
      "category": "telecom",
      "importance": 2,
      "hints": {
        "signup_url": "https://chingumobile.com/index/signup",
        "checkout_url": null,
        "support_url": "https://chingumobile.com/faq",
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://chingumobile.com/",
                "redirected": true,
                "elapsed_ms": 5090,
                "body_sha256": "ee8730dd6784aa39d4e0041fe9091263c4b46e48a77319b9b9a7a4ef553082ec",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.chingumobile.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.chingumobile.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.646,
            "hangul_char_ratio": 0.036,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://chingumobile.com/index/signup",
            "final_url": "https://chingumobile.com/index/signup",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "sign up",
              "약관에 동의"
            ],
            "form_input_count": 15,
            "matched_vendors": [
              {
                "id": "generic-phone-auth",
                "name": "일반 휴대폰 본인인증 문구",
                "matched": "본인확인",
                "via": "text"
              }
            ],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://chingumobile.com/index/signup",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.chingumobile.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://chingumobile.com/faq",
                "status": 200,
                "chars": 9253
              },
              {
                "url": "https://www.chingumobile.com",
                "status": 200,
                "chars": 2532
              },
              {
                "url": "https://chingumobile.com/faq",
                "status": 200,
                "chars": 9253
              }
            ],
            "content_sha256": "d30e3dba279e1352ed677ec0a7a65644cca2a54e294297ab236291bf807bbf96",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.155,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No app found under this name. A KT eSIM app appears in searches but belongs to a different service.",
        "ko": "이 이름으로 된 앱을 찾지 못했습니다. 검색하면 KT의 eSIM 앱이 나오지만 다른 서비스의 앱입니다."
      }
    },
    {
      "id": "cjonstyle",
      "name": {
        "en": "CJ ONSTYLE",
        "ko": "CJ온스타일"
      },
      "url": "https://www.cjonstyle.com",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.cjoshppingphone",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://display.cjonstyle.com/p/homeTab/main?hmtabMenuId=H00005&rPIC=homeonstyle",
                "redirected": true,
                "elapsed_ms": 5968,
                "body_sha256": "3587865ad2d0fc3fc8b6d7c397e03d73c5cee05979da846891ef30980c750470",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.cjonstyle.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.cjonstyle.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.044,
            "hangul_char_ratio": 0.689,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://display.cjonstyle.com/p/homeTab/main?hmtabMenuId=H00005",
            "attempts": [
              {
                "url": "https://www.cjonstyle.com/join",
                "status": 200,
                "used": true
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.cjonstyle.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.cjonstyle.com",
                "status": 200,
                "chars": 45
              }
            ],
            "content_sha256": "bd1c2ce2d410d41934c645a00e030a3dca3e0575b5d764d1356e0a363a2890cd",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.301,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "coupang",
      "name": {
        "en": "Coupang",
        "ko": "쿠팡"
      },
      "url": "https://www.coupang.com",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": "https://login.coupang.com/login/login.pang",
        "checkout_url": null,
        "support_url": "https://mc.coupang.com/ssr/desktop/contact/faq",
        "english_url": null,
        "ios_app_id": "454434967",
        "android_package": "com.coupang.mobile",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.coupang.com/",
                "redirected": false,
                "elapsed_ms": 2091,
                "body_sha256": "7c0538de9eb1815357132938e39bddad8876f27910fd768120cfc83f939d70c7",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": [
                  "access denied"
                ]
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://login.coupang.com/login/login.pang",
            "final_url": "https://login.coupang.com/login/login.pang",
            "http_status": 403,
            "page_kind": "login",
            "login_markers": [
              "login"
            ],
            "attempts": [
              {
                "url": "https://login.coupang.com/login/login.pang",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.coupang.mobile",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.coupang.mobile&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.coupang.com",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "coupang-eats",
      "name": {
        "en": "Coupang Eats",
        "ko": "쿠팡이츠"
      },
      "url": "https://www.coupangeats.com",
      "category": "delivery",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1445504255",
        "android_package": "com.coupang.mobile.eats",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.coupangeats.com/",
                "redirected": false,
                "elapsed_ms": 2177,
                "body_sha256": "84deedf684dffc1bfabe4ef3156d5875e4ace2fa31a08652bab16bce9922c705",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": [
                  "access denied"
                ]
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.coupangeats.com/join",
                "status": 403,
                "used": false
              },
              {
                "url": "https://www.coupangeats.com (이하 후보)",
                "status": 403,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.coupang.mobile.eats",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.coupang.mobile.eats&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.coupangeats.com",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "daangn",
      "name": {
        "en": "Karrot (Danggeun Market)",
        "ko": "당근마켓"
      },
      "url": "https://www.daangn.com",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://daangn.com/wv/faqs",
        "english_url": null,
        "ios_app_id": "1018769995",
        "android_package": "com.towneers.www",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.daangn.com/kr/",
                "redirected": true,
                "elapsed_ms": 3189,
                "body_sha256": "12637052110c3b916518f164b15c4f986aaf30d03d1c760ff9796fc6a5d68a7d",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko-KR",
            "hreflang": [
              "en-ca",
              "en-us",
              "ja-jp",
              "ko-kr"
            ],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.daangn.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.daangn.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.062,
            "hangul_char_ratio": 0.549,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.daangn.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.daangn.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.daangn.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.daangn.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.daangn.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1018769995",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1018769995&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.towneers.www",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.towneers.www&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.daangn.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://daangn.com/wv/faqs",
                "status": 200,
                "chars": 4
              },
              {
                "url": "https://www.daangn.com",
                "status": 200,
                "chars": 1058
              },
              {
                "url": "https://daangn.com/wv/faqs",
                "status": 200,
                "chars": 4
              },
              {
                "url": "https://www.daangn.com/wv/faqs/3994",
                "status": 200,
                "chars": 4
              }
            ],
            "content_sha256": "009165c6e1195effac1961489ad897e83483765d85b43a47ad169a562b888985",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.122,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "danawa",
      "name": {
        "en": "Danawa",
        "ko": "다나와"
      },
      "url": "https://www.danawa.com",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://help.danawa.com/",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.sktelecom.Danawa.Main",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.danawa.com/",
                "redirected": false,
                "elapsed_ms": 3605,
                "body_sha256": "501d0f41f5f3b29c3ad9b54a8832e67e1192105aa7f05c0ccfab7bcbf23c83ca",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.danawa.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.danawa.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.129,
            "hangul_char_ratio": 0.48,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.danawa.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.danawa.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.danawa.com/member/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /member/"
              },
              {
                "url": "https://www.danawa.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.sktelecom.Danawa.Main",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.sktelecom.Danawa.Main&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.danawa.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://help.danawa.com/",
                "status": 200,
                "chars": 1934
              },
              {
                "url": "https://www.danawa.com",
                "status": 200,
                "chars": 8000
              },
              {
                "url": "http://help.danawa.com/",
                "status": 200,
                "chars": 1945
              },
              {
                "url": "http://shop.danawa.com/pcshop/?controller=brandPCBlog&methods=main&representProductSeq=3148485",
                "status": 200,
                "chars": 10000
              }
            ],
            "content_sha256": "45b377177569472cf7b0ff161c1c775f5d2806f5083e3d22ad958ff37b3e2962",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.09,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "daum",
      "name": {
        "en": "Daum",
        "ko": "다음"
      },
      "url": "https://www.daum.net",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "365494029",
        "android_package": "net.daum.android.daum",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.daum.net/",
                "redirected": false,
                "elapsed_ms": 3932,
                "body_sha256": "76aee832a4c77235552b28bba0996412e6409f66f6717c86895e9e1e28f577c8",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.daum.net/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://www.daum.net/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 1,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.daum.net/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.daum.net (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.daum.net",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.daum.net",
                "status": 200,
                "chars": 4
              }
            ],
            "content_sha256": "67835e6b8080b6268df99fc17f5d64a17bc6b29de68d4763cedd36d398071ff6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.704,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ddocdoc",
      "name": {
        "en": "DdocDoc",
        "ko": "똑닥"
      },
      "url": "https://www.ddocdoc.com",
      "category": "healthcare",
      "importance": 3,
      "hints": {
        "signup_url": "https://hospital.ddocdoc.com/register?utm_source=ddocdoc-com&amp;utm_medium=bottom-list&amp;utm_campaign=etc",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1014889755",
        "android_package": "com.bbros.sayup",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.ddocdoc.com/",
                "redirected": false,
                "elapsed_ms": 2238,
                "body_sha256": "b976640a2589f1aa61076c68504d22b3fe582ddcf4709c34e4d0d29db55891d6",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.ddocdoc.com/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://www.ddocdoc.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.081,
            "hangul_char_ratio": 0.565,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://hospital.ddocdoc.com/register?utm_source=ddocdoc-com&amp;utm_medium=bottom-list&amp;utm_campaign=etc",
            "final_url": "https://hospital.ddocdoc.com/register?utm_source=ddocdoc-com&amp;utm_medium=bottom-list&amp;utm_campaign=etc",
            "http_status": 200,
            "page_kind": "signup",
            "signup_markers": [
              "register",
              "약관동의"
            ],
            "form_input_count": 5,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://hospital.ddocdoc.com/register?utm_source=ddocdoc-com&amp;utm_medium=bottom-list&amp;utm_campaign=etc",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1014889755",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1014889755&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.bbros.sayup",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.bbros.sayup&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.ddocdoc.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.ddocdoc.com",
                "status": 200,
                "chars": 421
              },
              {
                "url": "https://hospital.ddocdoc.com/register?utm_source=ddocdoc-com&amp;utm_medium=bottom-list&amp;utm_campaign=etc",
                "status": 200,
                "chars": 488
              }
            ],
            "content_sha256": "de04ff62abf582825567a2a27bb3198981dad1b9ad092191fab3e3a909715ce8",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.176,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "e-gen",
      "name": {
        "en": "Emergency Medical Portal (E-Gen)",
        "ko": "응급의료포털 E-Gen"
      },
      "url": "https://www.e-gen.or.kr",
      "category": "healthcare",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "385668523",
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 8982,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              }
            ],
            "note": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.e-gen.or.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              },
              {
                "url": "https://www.e-gen.or.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.e-gen.or.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published by the Ministry of Health and Welfare as “응급의료정보제공”, not under the E-Gen name.",
        "ko": "앱 이름은 보건복지부가 낸 ‘응급의료정보제공’입니다. E-Gen이라는 이름의 앱은 없습니다."
      }
    },
    {
      "id": "epost",
      "name": {
        "en": "Korea Post",
        "ko": "우체국"
      },
      "url": "https://www.epost.go.kr",
      "category": "government",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "435940000",
        "android_package": "kr.go.epost.app.findZip",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22648,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.epost.go.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              },
              {
                "url": "https://www.epost.go.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.epost.go.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "genie",
      "name": {
        "en": "Genie Music",
        "ko": "지니뮤직"
      },
      "url": "https://www.genie.co.kr",
      "category": "culture",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "858266085",
        "android_package": "com.ktmusic.geniemusic",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1198,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.genie.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.genie.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.genie.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "gmarket",
      "name": {
        "en": "Gmarket",
        "ko": "G마켓"
      },
      "url": "https://www.gmarket.co.kr",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": "https://signup-web.gmarket.co.kr/signup/privateBuyer?url=http%3A%2F%2Fwww.gmarket.co.kr",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "340330132",
        "android_package": "com.ebay.kr.gmarket",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.gmarket.co.kr/",
                "redirected": false,
                "elapsed_ms": 2318,
                "body_sha256": "868edfe51ec8aca022e6e08f5c505d5ad5fb419deb61c04c8c3607081e7db3d6",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:28:31.541Z",
          "last_changed_at": "2026-08-15T04:28:31.541Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://signup-web.gmarket.co.kr/signup/privateBuyer?url=http%3A%2F%2Fwww.gmarket.co.kr",
            "final_url": "https://signup-web.gmarket.co.kr/signup/privateBuyer?url=http%3A%2F%2Fwww.gmarket.co.kr",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입"
            ],
            "form_input_count": 8,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://signup-web.gmarket.co.kr/signup/privateBuyer?url=http%3A%2F%2Fwww.gmarket.co.kr",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.ebay.kr.gmarket",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.ebay.kr.gmarket&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.gmarket.co.kr",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "gmoneytrans",
      "name": {
        "en": "GME Remittance",
        "ko": "지머니트랜스"
      },
      "url": "https://www.gmoneytrans.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://gmoneytrans.com/supported-countries/",
        "english_url": null,
        "ios_app_id": "1218137289",
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://gmoneytrans.com/",
                "redirected": true,
                "elapsed_ms": 4650,
                "body_sha256": "49e6f75ec10dbf7ebfe21f40734d37a721e2828f022dbb718c7ce922402692d5",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en-US",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://card.gmoneytrans.net/card/cardhtml/html/en/100922_benefit.html",
                "https://card.gmoneytrans.net/card/cardhtml/html/en/100921_benefit.html",
                "https://card.gmoneytrans.net/card/cardhtml/html/en/103079_benefit.html",
                "https://card.gmoneytrans.net/card/cardhtml/html/en/100922_benefit.html",
                "https://card.gmoneytrans.net/card/cardhtml/html/en/100921_benefit.html"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.gmoneytrans.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.gmoneytrans.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.803,
            "hangul_char_ratio": 0.009,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.gmoneytrans.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.gmoneytrans.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.gmoneytrans.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.gmoneytrans.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.gmoneytrans.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": null,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1218137289",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1218137289&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": null,
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.gmoneytrans.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://gmoneytrans.com/supported-countries/",
                "status": 200,
                "chars": 1197
              },
              {
                "url": "https://www.gmoneytrans.com",
                "status": 200,
                "chars": 7370
              },
              {
                "url": "https://gmoneytrans.com/contact-us/",
                "status": 200,
                "chars": 1590
              },
              {
                "url": "https://gmoneytrans.com/supported-countries/",
                "status": 200,
                "chars": 1197
              }
            ],
            "content_sha256": "52d1836da70fdce750854fcf7ba0843f92097937c321da3cd01aecc781f7bcd8",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.806,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "goodchoice",
      "name": {
        "en": "GoodChoice (Yeogi Eottae)",
        "ko": "여기어때"
      },
      "url": "https://www.yeogi.com",
      "category": "accommodation",
      "importance": 1,
      "hints": {
        "signup_url": "https://platform.yeogi.com/login?redirectUri=https://www.yeogi.com/",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "884043462",
        "android_package": "kr.goodchoice.abouthere",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.yeogi.com/",
                "redirected": false,
                "elapsed_ms": 2471,
                "body_sha256": "257a101d285b171925628858138294510ef41bb1d70b498dc9b37625af7947da",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.yeogi.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.yeogi.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.615,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://platform.yeogi.com/login?redirectUri=https://www.yeogi.com/",
            "final_url": "https://platform.yeogi.com/login?redirectUri=https://www.yeogi.com/",
            "http_status": 200,
            "page_kind": "combined",
            "form_input_count": 0,
            "attempts": [
              {
                "url": "https://platform.yeogi.com/login?redirectUri=https://www.yeogi.com/",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "884043462",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=884043462&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "kr.goodchoice.abouthere",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=kr.goodchoice.abouthere&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.yeogi.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.yeogi.com",
                "status": 200,
                "chars": 52
              }
            ],
            "content_sha256": "d70bd1cc55acd9f32fa3e8a76a4b229786051997638697c7ceb5446e73ad6f16",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.211,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "goodoc",
      "name": {
        "en": "Goodoc",
        "ko": "굿닥"
      },
      "url": "https://www.goodoc.co.kr",
      "category": "healthcare",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "517637141",
        "android_package": "com.ksncho.hospitalinfo",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.goodoc.co.kr/",
                "redirected": false,
                "elapsed_ms": 3090,
                "body_sha256": "c88c7c9c84e85cb08fdf8a7534139cd63ec8550c3c5fc77dc5229691c9ff9b81",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.goodoc.co.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.goodoc.co.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.08,
            "hangul_char_ratio": 0.579,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.goodoc.co.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.goodoc.co.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.goodoc.co.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.goodoc.co.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.goodoc.co.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "517637141",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=517637141&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.ksncho.hospitalinfo",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.ksncho.hospitalinfo&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.goodoc.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.goodoc.co.kr",
                "status": 200,
                "chars": 1331
              }
            ],
            "content_sha256": "a6e9cc8adb833ccf964c11ee57a0d8311fac504233469c23a9707f43f49c5e23",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.091,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "gov-kr",
      "name": {
        "en": "Government24",
        "ko": "정부24"
      },
      "url": "https://www.gov.kr",
      "category": "government",
      "importance": 1,
      "hints": {
        "signup_url": "https://plus.gov.kr/member/signUpAgree",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "586454505",
        "android_package": "kr.go.minwon.m",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22768,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(robots.txt 응답 599)",
            "signup_url": "https://plus.gov.kr/member/signUpAgree",
            "attempts": [
              {
                "url": "https://plus.gov.kr/member/signUpAgree",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.gov.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "gsshop",
      "name": {
        "en": "GS Shop",
        "ko": "GS샵"
      },
      "url": "https://www.gsshop.com",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "gsshop.mobile.v2",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.gsshop.com/",
                "redirected": false,
                "elapsed_ms": 2230,
                "body_sha256": "c4c77c671105e74a1a7c320b159872bb484a2ebe5fedd8befb3387d1ff7fc9d5",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.gsshop.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.gsshop.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.538,
            "hangul_char_ratio": 0.231,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://www.gsshop.com/join",
            "final_url": "https://www.gsshop.com/join",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://www.gsshop.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.gsshop.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.gsshop.com",
                "status": 200,
                "chars": 26
              }
            ],
            "content_sha256": "ffccd046f984e0a00ada26acd6440e1df3dbdb5f9b250e19dfd157b92b993fd6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.608,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "hana-bank",
      "name": {
        "en": "Hana Bank",
        "ko": "하나은행"
      },
      "url": "https://www.kebhana.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1362508015",
        "android_package": "com.kebhana.hanapush",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kebhana.com/",
                "redirected": false,
                "elapsed_ms": 6200,
                "body_sha256": "5a430698776d2255f0fb73f9e4b9610f8e8c25d86369ab547f03ea7004870dcd",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://www.kebhana.com/easyone_index_en.html",
                "https://www.kebhana.com/easyone_index_vi.html"
              ],
              "ja": [
                "https://www.kebhana.com/easyone_index_ja.html"
              ],
              "zh": [
                "https://www.kebhana.com/easyone_index_zh.html"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.kebhana.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kebhana.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.034,
            "hangul_char_ratio": 0.772,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kebhana.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kebhana.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kebhana.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kebhana.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kebhana.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1362508015",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1362508015&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.kebhana.hanapush",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.kebhana.hanapush&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kebhana.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kebhana.com",
                "status": 200,
                "chars": 8000
              }
            ],
            "content_sha256": "bb2e2146468935b5e04a945c91fc98a7d6e193e685cab165458534067e8a5651",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.035,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "hanatour",
      "name": {
        "en": "Hana Tour",
        "ko": "하나투어"
      },
      "url": "https://www.hanatour.com",
      "category": "accommodation",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.hanatour.dotcom",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.hanatour.com/",
                "redirected": false,
                "elapsed_ms": 4179,
                "body_sha256": "a2aa459c13e8893178fec29ce511bf7cd869ea75a293773c2d2c9d9af01f7e86",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko-kr",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.hanatour.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.hanatour.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.083,
            "hangul_char_ratio": 0.581,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.hanatour.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanatour.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanatour.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanatour.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanatour.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "naverpay"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.hanatour.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "naverpay",
                "name": "네이버페이",
                "matched": "pay.naver.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.hanatour.com",
                "status": 200,
                "chars": 900
              }
            ],
            "content_sha256": "d1dd819252c2fa43b9cb8778a2dd7b3415f2b6ff10d65ad0059c8ce784dbd093",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.101,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "hanpass",
      "name": {
        "en": "Hanpass",
        "ko": "한패스"
      },
      "url": "https://www.hanpass.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1344407760",
        "android_package": "com.hanpass.remittance",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.hanpass.com/en",
                "redirected": true,
                "elapsed_ms": 4737,
                "body_sha256": "53cc4d0245f6c87d955165b20b0a5a5124c0ee53738335bf3d4b139a6cd9c520",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [
              "ko",
              "en"
            ],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.hanpass.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.hanpass.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 1,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.hanpass.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanpass.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanpass.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanpass.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hanpass.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.hanpass.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.hanpass.com",
                "status": 200,
                "chars": 7
              }
            ],
            "content_sha256": "455ce66089068293c4b999944fdd607a38384ea75b90923935c89b094fa83c7a",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.758,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "hikorea",
      "name": {
        "en": "HiKorea (Immigration)",
        "ko": "하이코리아"
      },
      "url": "https://www.hikorea.go.kr",
      "category": "government",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.hikorea.go.kr/memb/stipDetailRM.pt",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22130,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "signup_url": "https://www.hikorea.go.kr/memb/stipDetailRM.pt",
            "attempts": [
              {
                "url": "https://www.hikorea.go.kr/memb/stipDetailRM.pt",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.hikorea.go.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No app on either store. An unrelated Korean-learning app shares the HiKorea name.",
        "ko": "두 스토어 모두에 앱이 없습니다. 이름이 같은 한국어 학습 앱이 있지만 무관합니다."
      }
    },
    {
      "id": "hira",
      "name": {
        "en": "HIRA",
        "ko": "건강보험심사평가원"
      },
      "url": "https://www.hira.or.kr",
      "category": "healthcare",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.yagins.hiraportal",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.hira.or.kr/",
                "redirected": false,
                "elapsed_ms": 4101,
                "body_sha256": "df7bd63d949888a60e2a9e6990a4fcfc34e4dc805bf2e296df8c3331e759d00d",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.hira.or.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.hira.or.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 1,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.hira.or.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hira.or.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hira.or.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hira.or.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.hira.or.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.hira.or.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.hira.or.kr",
                "status": 200,
                "chars": 4
              }
            ],
            "content_sha256": "6cf76e4bf5a4e5148bab84de54f97c6d62b497ebef1ba1b62c021db5c8acb5cc",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.69,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “건강e음”.",
        "ko": "앱 이름은 ‘건강e음’입니다."
      }
    },
    {
      "id": "homeplus",
      "name": {
        "en": "Homeplus",
        "ko": "홈플러스"
      },
      "url": "https://front.homeplus.co.kr",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "429151787",
        "android_package": "com.socialapps.homeplus",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://mfront.homeplus.co.kr/",
                "redirected": true,
                "elapsed_ms": 4523,
                "body_sha256": "debb1d7b14d8b641cacb28cca514917c1725c276e4413b2b20c23b4383867ebb",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://front.homeplus.co.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.696,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://front.homeplus.co.kr/join",
            "final_url": "https://front.homeplus.co.kr/404",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://front.homeplus.co.kr/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "429151787",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=429151787&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.socialapps.homeplus",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.socialapps.homeplus&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://front.homeplus.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://front.homeplus.co.kr",
                "status": 200,
                "chars": 23
              }
            ],
            "content_sha256": "25b2f804b78a564dc701a500ff3f389593fd347447ecc65edab7c644b165d500",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.407,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "hometax",
      "name": {
        "en": "Hometax (NTS)",
        "ko": "국세청 홈택스"
      },
      "url": "https://www.hometax.go.kr",
      "category": "government",
      "importance": 1,
      "hints": {
        "signup_url": "https://hometax.go.kr/websquare/websquare.html?w2xPath=/ui/pp/index_pp.xml&menuCd=UTXPPAAA80",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "kr.go.nts.android",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22688,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(robots.txt 응답 599)",
            "signup_url": "https://hometax.go.kr/websquare/websquare.html?w2xPath=/ui/pp/index_pp.xml&menuCd=UTXPPAAA80",
            "attempts": [
              {
                "url": "https://hometax.go.kr/websquare/websquare.html?w2xPath=/ui/pp/index_pp.xml&menuCd=UTXPPAAA80",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.hometax.go.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “손택스”.",
        "ko": "앱 이름은 ‘손택스’입니다."
      }
    },
    {
      "id": "ibk",
      "name": {
        "en": "IBK Industrial Bank",
        "ko": "IBK기업은행"
      },
      "url": "https://www.ibk.co.kr",
      "category": "finance",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1460543865",
        "android_package": "com.ibk.android.ionebank",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1031,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.ibk.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.ibk.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.ibk.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "interpark-global",
      "name": {
        "en": "NOL Interpark Global",
        "ko": "놀 인터파크 글로벌"
      },
      "url": "https://world.nol.com",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": "https://world.nol.com/en/auth-web/email-join",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.interparktriple.kint5",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:50:45.613Z",
          "last_changed_at": "2026-08-15T02:50:45.613Z",
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://world.nol.com/",
                "redirected": false,
                "elapsed_ms": 2176,
                "body_sha256": "cde504fd809b86474a25d3da3d90acc076532159f0914c4d5c3557e9b91899cd",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [
              "en",
              "ja",
              "zh-cn"
            ],
            "language_switcher_links": {
              "en": [
                "https://world.nol.com/en/my-info",
                "https://world.nol.com/en/ticket",
                "https://world.nol.com/en/stay/accommodations",
                "https://world.nol.com/en/tna",
                "https://world.nol.com/en/regions/seoul/restaurants"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://world.nol.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://world.nol.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.69,
            "hangul_char_ratio": 0.001,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:28:31.541Z",
          "last_changed_at": "2026-08-15T04:28:31.541Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://world.nol.com/en/auth-web/email-join",
            "final_url": "https://world.nol.com/en/auth-web/email-join",
            "http_status": 200,
            "page_kind": "signup",
            "signup_markers": [
              "sign up"
            ],
            "form_input_count": 2,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://world.nol.com/en/auth-web/email-join",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://world.nol.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://world.nol.com",
                "status": 200,
                "chars": 5569
              }
            ],
            "content_sha256": "3eff0ad20fbdccca3130a3004165cd713598bd55f00537f11d4a3e3fba4ed35e",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.69,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "Formerly global.interpark.com; that domain no longer resolves and www.globalinterpark.com redirects here. The app is published as “NOL World”.",
        "ko": "옛 global.interpark.com 은 접속 불가. www.globalinterpark.com 이 이 주소로 리디렉션된다 (2026-08-15 확인). 앱 이름은 ‘NOL World’입니다."
      }
    },
    {
      "id": "interpark-ticket",
      "name": {
        "en": "Interpark Ticket",
        "ko": "인터파크 티켓"
      },
      "url": "https://tickets.interpark.com",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "440487844",
        "android_package": "com.interpark.app.ticket",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 277,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://tickets.interpark.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://tickets.interpark.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://tickets.interpark.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “NOL 티켓”. Interpark rebranded its ticketing app.",
        "ko": "앱 이름은 ‘NOL 티켓’입니다. 인터파크가 예매 앱 이름을 바꿨습니다."
      }
    },
    {
      "id": "interpark-tour",
      "name": {
        "en": "Interpark Tour",
        "ko": "인터파크 투어"
      },
      "url": "https://tour.interpark.com",
      "category": "accommodation",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "775349206",
        "android_package": "com.interpark.tour.mobile.main",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 760,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://tour.interpark.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://tour.interpark.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://tour.interpark.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kakao-gift",
      "name": {
        "en": "Kakao Gift",
        "ko": "카카오톡 선물하기"
      },
      "url": "https://gift.kakao.com",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1266,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://gift.kakao.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://gift.kakao.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://gift.kakao.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No standalone app. Gifting runs inside KakaoTalk.",
        "ko": "별도 앱이 없습니다. 선물하기는 카카오톡 안에서 합니다."
      }
    },
    {
      "id": "kakao-map",
      "name": {
        "en": "Kakao Map",
        "ko": "카카오맵"
      },
      "url": "https://map.kakao.com",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": "https://accounts.kakao.com/login/?continue=https%3A%2F%2Fmap.kakao.com",
        "checkout_url": null,
        "support_url": "https://cs.kakao.com/helps?locale=ko&service=101",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "net.daum.android.map",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://map.kakao.com/",
                "redirected": false,
                "elapsed_ms": 3755,
                "body_sha256": "4ffc2177c086cbe9686faa6ecf6b5788c1fc7be40066691d64732d3bd6da0ad8",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://map.kakao.com/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://map.kakao.com/en/",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.024,
            "hangul_char_ratio": 0.671,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://accounts.kakao.com/login/?continue=https%3A%2F%2Fmap.kakao.com",
            "attempts": [
              {
                "url": "https://accounts.kakao.com/login/?continue=https%3A%2F%2Fmap.kakao.com",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "net.daum.android.map",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=net.daum.android.map&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://map.kakao.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://map.kakao.com",
                "status": 200,
                "chars": 2073
              }
            ],
            "content_sha256": "fdb8488415083542a6d64c72f339f4d55c5c2184e1c16b8377e94756592ef6c6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.031,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kakao-t",
      "name": {
        "en": "Kakao T",
        "ko": "카카오 T"
      },
      "url": "https://www.kakaomobility.com",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.kakaomobility.com/customer-support",
        "english_url": null,
        "ios_app_id": "981110422",
        "android_package": "com.kakao.taxi",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kakaomobility.com/",
                "redirected": false,
                "elapsed_ms": 3805,
                "body_sha256": "530ec62a3d9fcf15db13b9899c4be494150801796326cad6b2ff10bfe1060a54",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.kakaomobility.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kakaomobility.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.088,
            "hangul_char_ratio": 0.614,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kakaomobility.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaomobility.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaomobility.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaomobility.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaomobility.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "981110422",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=981110422&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.kakao.taxi",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.kakao.taxi&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kakaomobility.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kakaomobility.com/customer-support",
                "status": 200,
                "chars": 2157
              },
              {
                "url": "https://www.kakaomobility.com",
                "status": 200,
                "chars": 1835
              },
              {
                "url": "https://www.kakaomobility.com/robotics",
                "status": 200,
                "chars": 2506
              },
              {
                "url": "https://www.kakaomobility.com/customer-support",
                "status": 200,
                "chars": 2157
              }
            ],
            "content_sha256": "275907b66f1f1b438793f69501d81cc5ff96e9c595a6deceebd03a77891b257d",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.089,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kakaobank",
      "name": {
        "en": "KakaoBank",
        "ko": "카카오뱅크"
      },
      "url": "https://www.kakaobank.com",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1258016944",
        "android_package": "com.kakaobank.channel",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 781,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kakaobank.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.kakaobank.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.kakaobank.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kakaopay",
      "name": {
        "en": "KakaoPay",
        "ko": "카카오페이"
      },
      "url": "https://www.kakaopay.com",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://support.kakaopay.com/web/faq-list/all",
        "english_url": null,
        "ios_app_id": "1464496236",
        "android_package": "com.kakaopay.app",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kakaopay.com/",
                "redirected": false,
                "elapsed_ms": 3831,
                "body_sha256": "2c426fce2d3c7b445d532de1282a4a5a9a83ccbf12f571531b6a93731f43009b",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.kakaopay.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.722,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kakaopay.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaopay.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaopay.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaopay.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaopay.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "kakaopay"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kakaopay.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "kakaopay",
                "name": "카카오페이",
                "matched": "카카오페이",
                "via": "text"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://support.kakaopay.com/web/faq-list/all",
                "status": 200,
                "chars": 16
              },
              {
                "url": "https://www.kakaopay.com",
                "status": 200,
                "chars": 18
              }
            ],
            "content_sha256": "ddcfd2258efb379593a1db16a91d08fa92461812974fb0dcee183205a5b4f3f6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.495,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kakaotalk",
      "name": {
        "en": "KakaoTalk",
        "ko": "카카오톡"
      },
      "url": "https://www.kakaocorp.com",
      "category": "culture",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://cs.kakao.com/",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.kakao.talk",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kakaocorp.com/page/",
                "redirected": true,
                "elapsed_ms": 3893,
                "body_sha256": "b8175dd3cbbc803cb6bf9f7f05e6f5311ecfcebd53df362b03b0753e8a9fc814",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [
              "ko",
              "en"
            ],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.kakaocorp.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kakaocorp.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.063,
            "hangul_char_ratio": 0.695,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kakaocorp.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaocorp.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaocorp.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaocorp.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kakaocorp.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.kakao.talk",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.kakao.talk&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kakaocorp.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kakaocorp.com",
                "status": 200,
                "chars": 1550
              },
              {
                "url": "https://www.kakaocorp.com/policy/cyberEthics/info",
                "status": 200,
                "chars": 2765
              }
            ],
            "content_sha256": "4cf3dc3857b27e5acd11937d6f0d5ab19ff3bb7a8de87a1bfcb09fa3ec2a1b11",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.058,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kbank",
      "name": {
        "en": "K bank",
        "ko": "케이뱅크"
      },
      "url": "https://www.kbanknow.com",
      "category": "finance",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.kbanknow.com/web/customer/faq/list",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.kbankwith.smartbank",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kbanknow.com/web/web-home/home/main",
                "redirected": true,
                "elapsed_ms": 3778,
                "body_sha256": "0726533afaaa3b902ebb0382f7df93c4390f89cc7b56a18c69109167a273ed91",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://www.kbanknow.com/web/product/deposit/challengebox",
                "https://www.kbanknow.com/web/service/benefit/ai-quiz-challenge/home/intro"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.kbanknow.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.038,
            "hangul_char_ratio": 0.729,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://www.kbanknow.com/join",
            "final_url": "https://www.kbanknow.com/web/common/info/404",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://www.kbanknow.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kbanknow.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kbanknow.com/web/customer/faq/list",
                "status": 200,
                "chars": 1799
              },
              {
                "url": "https://www.kbanknow.com",
                "status": 200,
                "chars": 1343
              },
              {
                "url": "https://www.kbanknow.com/web/customer/faq/list",
                "status": 200,
                "chars": 1799
              },
              {
                "url": "https://www.kbanknow.com/web/about/ethics/info?tab=general",
                "status": 200,
                "chars": 1839
              }
            ],
            "content_sha256": "25473ae6a9d04a766c34a13ad7013b6685de5e10a554759df3cba582885e4718",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.066,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kbstar",
      "name": {
        "en": "KB Kookmin Bank",
        "ko": "KB국민은행"
      },
      "url": "https://www.kbstar.com",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": "https://obank.kbstar.com/quics?page=C055068&QSL=F",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "373742138",
        "android_package": "com.kbstar.kbbank",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kbstar.com/",
                "redirected": false,
                "elapsed_ms": 4059,
                "body_sha256": "2270fe87b65e80367537932d753ea26e2e1f1073cd6c13790fddd3216303ff8b",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://omoney.kbstar.com/quics?page=oeng&amp;QSL=F"
              ],
              "ja": [
                "https://omoney.kbstar.com/quics?page=ojpn&amp;QSL=F"
              ],
              "zh": [
                "https://omoney.kbstar.com/quics?page=ochn&amp;QSL=F"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.kbstar.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kbstar.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.142,
            "hangul_char_ratio": 0.558,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://obank.kbstar.com/quics?page=C055068&QSL=F",
            "attempts": [
              {
                "url": "https://obank.kbstar.com/quics?page=C055068&QSL=F",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kbstar.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kbstar.com",
                "status": 200,
                "chars": 3015
              }
            ],
            "content_sha256": "8e1ef907f16dab92cdd10af6d3ad90f514f8bb53e2437aff97195e8227ee6629",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.146,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kobus",
      "name": {
        "en": "Kobus (Express Bus)",
        "ko": "고속버스통합예매"
      },
      "url": "https://www.kobus.co.kr",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.kobus.co.kr/mbrs/mbrsjoin/mbrsJoin.do",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22553,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "signup_url": "https://www.kobus.co.kr/mbrs/mbrsjoin/mbrsJoin.do",
            "attempts": [
              {
                "url": "https://www.kobus.co.kr/mbrs/mbrsjoin/mbrsJoin.do",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.kobus.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No standalone app found on either store. This site has no app of its own. Express-bus booking is also possible in T-money’s “티머니GO” app, which is run by a different operator.",
        "ko": "두 스토어 모두에서 별도 앱을 찾지 못했습니다. 이 사이트의 앱은 없습니다. 고속버스 예매 자체는 티머니가 만든 ‘티머니GO’ 앱에서도 됩니다. 운영 주체가 다릅니다."
      }
    },
    {
      "id": "korail",
      "name": {
        "en": "Korail",
        "ko": "코레일"
      },
      "url": "https://www.korail.com",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.korail.com/ticket/membership/ageCheck",
        "checkout_url": null,
        "support_url": "https://www.korail.com/ticket/guest/csc/korailcs",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.korail.talk",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.korail.com/",
                "redirected": false,
                "elapsed_ms": 3444,
                "body_sha256": "c35eeb957318eb5438a63823a6ecc39a490fc5fa3cd65ba8a4b934d47e040278",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.korail.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.korail.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.889,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://www.korail.com/ticket/membership/ageCheck",
            "final_url": "https://www.korail.com/ticket/membership/ageCheck",
            "http_status": 200,
            "page_kind": "combined",
            "form_input_count": 0,
            "attempts": [
              {
                "url": "https://www.korail.com/ticket/membership/ageCheck",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.korail.talk",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.korail.talk&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.korail.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.korail.com/ticket/guest/csc/korailcs",
                "status": 200,
                "chars": 9
              },
              {
                "url": "https://www.korail.com",
                "status": 200,
                "chars": 9
              }
            ],
            "content_sha256": "d4411a3fdaf31cd94bb83d932638d954e08e315809f198c11028ea5264439cf9",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.583,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kt",
      "name": {
        "en": "KT",
        "ko": "KT"
      },
      "url": "https://www.kt.com",
      "category": "telecom",
      "importance": 1,
      "hints": {
        "signup_url": "https://accounts.kt.com/identify/personal",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.ktshow.cs",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22654,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://accounts.kt.com/identify/personal",
            "final_url": "https://accounts.kt.com/identify/personal",
            "http_status": 200,
            "page_kind": "signup",
            "signup_markers": [
              "이용약관 동의"
            ],
            "form_input_count": 5,
            "matched_vendors": [
              {
                "id": "ipin",
                "name": "아이핀 (i-PIN)",
                "matched": "아이핀",
                "via": "text"
              },
              {
                "id": "rrn",
                "name": "주민등록번호 입력 요구",
                "matched": "주민등록번호",
                "via": "text"
              },
              {
                "id": "generic-phone-auth",
                "name": "일반 휴대폰 본인인증 문구",
                "matched": "본인확인",
                "via": "text"
              }
            ],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://accounts.kt.com/identify/personal",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.ktshow.cs",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.ktshow.cs&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.kt.com",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ktmmobile",
      "name": {
        "en": "KT M mobile",
        "ko": "KT엠모바일"
      },
      "url": "https://www.ktmmobile.com",
      "category": "telecom",
      "importance": 2,
      "hints": {
        "signup_url": "https://www.ktmmobile.com/appForm/withoutUsim.do",
        "checkout_url": null,
        "support_url": "https://www.ktmmobile.com/cs/serviceGuide.do",
        "english_url": null,
        "ios_app_id": "1094611503",
        "android_package": "kt.co.ktmmobile",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.ktmmobile.com/main.do",
                "redirected": true,
                "elapsed_ms": 4918,
                "body_sha256": "1dea3dc73368338893552c36338a132b3832919ad37801a31ad48da33e1799bc",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.ktmmobile.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.ktmmobile.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.156,
            "hangul_char_ratio": 0.563,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.ktmmobile.com/appForm/withoutUsim.do",
            "final_url": "https://www.ktmmobile.com/appForm/withoutUsim.do",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "가입하기",
              "신규가입",
              "신규 가입",
              "가입신청"
            ],
            "form_input_count": 2,
            "matched_vendors": [
              {
                "id": "generic-phone-auth",
                "name": "일반 휴대폰 본인인증 문구",
                "matched": "본인인증",
                "via": "text"
              }
            ],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.ktmmobile.com/appForm/withoutUsim.do",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1094611503",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1094611503&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "kt.co.ktmmobile",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=kt.co.ktmmobile&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.ktmmobile.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.ktmmobile.com/cs/serviceGuide.do",
                "status": 200,
                "chars": 6182
              },
              {
                "url": "https://www.ktmmobile.com",
                "status": 200,
                "chars": 2723
              },
              {
                "url": "https://www.ktmmobile.com/cs/serviceGuide.do",
                "status": 200,
                "chars": 6182
              },
              {
                "url": "https://www.ktmmobile.com/cs/csNoticeList.do",
                "status": 200,
                "chars": 3209
              }
            ],
            "content_sha256": "01cf3db72ad7b3f596b55c10adabe9f27a88e2d92d314f5ad0c1f2b1e76e6aaa",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.115,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kurly",
      "name": {
        "en": "Market Kurly",
        "ko": "마켓컬리"
      },
      "url": "https://www.kurly.com",
      "category": "shopping",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1080244833",
        "android_package": "com.dbs.kurly.m2",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kurly.com/main",
                "redirected": true,
                "elapsed_ms": 2924,
                "body_sha256": "63b78102cc841a189f316e487a107d56d008e64240e9ba0a7cf3877e0d1d3ea8",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.kurly.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kurly.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.714,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kurly.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kurly.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kurly.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kurly.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kurly.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1080244833",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1080244833&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.dbs.kurly.m2",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.dbs.kurly.m2&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kurly.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kurly.com",
                "status": 200,
                "chars": 14
              }
            ],
            "content_sha256": "bf3186a3c39585effb8c85fb91b7905f5d058ee16b2c63c8449146f3ab939779",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.421,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "kyobo",
      "name": {
        "en": "Kyobo Book Centre",
        "ko": "교보문고"
      },
      "url": "https://www.kyobobook.co.kr",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.kyobobook.co.kr/cscenter",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "mok.android",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.kyobobook.co.kr/",
                "redirected": false,
                "elapsed_ms": 3247,
                "body_sha256": "0eed149627b7ac2b76d8978f34fd9212ec0b3b435b22649b194b3f5de4bbeebb",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.kyobobook.co.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.kyobobook.co.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.135,
            "hangul_char_ratio": 0.57,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.kyobobook.co.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kyobobook.co.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kyobobook.co.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kyobobook.co.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.kyobobook.co.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "tosspayments"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.kyobobook.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "tosspayments",
                "name": "토스페이먼츠",
                "matched": "tosspayments.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.kyobobook.co.kr/cscenter",
                "status": 200,
                "chars": 1640
              },
              {
                "url": "https://www.kyobobook.co.kr",
                "status": 200,
                "chars": 1050
              },
              {
                "url": "https://www.kyobobook.co.kr/cscenter",
                "status": 200,
                "chars": 1640
              },
              {
                "url": "https://www.kyobobook.co.kr/cscenter/notice",
                "status": 200,
                "chars": 1429
              }
            ],
            "content_sha256": "fee7ab15708881b4c01c07472c86cd2606062ea481751867fdda37b6ac7bd3f4",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.117,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "lguplus",
      "name": {
        "en": "LG U+",
        "ko": "LG유플러스"
      },
      "url": "https://www.lguplus.com",
      "category": "telecom",
      "importance": 1,
      "hints": {
        "signup_url": "https://account.lguplus.com/login?client_id=G8RoYUvnwILirwwwK3xG4WR8q9D83to7&login_type=STANDARD_WEB&prompt=select_account&i18nextLng=ko",
        "checkout_url": null,
        "support_url": "https://www.lguplus.com/support/online/faq",
        "english_url": null,
        "ios_app_id": "945578864",
        "android_package": "com.lguplus.mobile.cs",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.lguplus.com/",
                "redirected": false,
                "elapsed_ms": 2462,
                "body_sha256": "61459e8f59480014ab8ea39812d932f07f0354180376502157104eaa1a376347",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://account.lguplus.com/login?client_id=G8RoYUvnwILirwwwK3xG4WR8q9D83to7&login_type=STANDARD_WEB&prompt=select_account&i18nextLng=ko",
            "final_url": "https://account.lguplus.com/login?client_id=G8RoYUvnwILirwwwK3xG4WR8q9D83to7&login_type=STANDARD_WEB&prompt=select_account&i18nextLng=ko",
            "http_status": 200,
            "page_kind": "combined",
            "form_input_count": 1,
            "attempts": [
              {
                "url": "https://account.lguplus.com/login?client_id=G8RoYUvnwILirwwwK3xG4WR8q9D83to7&login_type=STANDARD_WEB&prompt=select_account&i18nextLng=ko",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.lguplus.com",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “U+one”.",
        "ko": "앱 이름은 ‘U+one’입니다."
      }
    },
    {
      "id": "lotte-cinema",
      "name": {
        "en": "Lotte Cinema",
        "ko": "롯데시네마"
      },
      "url": "https://www.lottecinema.co.kr",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.lottecinema.co.kr/NLCHS/Membership/l_point",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "601280722",
        "android_package": "kr.co.lottecinema.lcm",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.lottecinema.co.kr/",
                "redirected": false,
                "elapsed_ms": 3569,
                "body_sha256": "32edf19485b20db115cd4a35160c044c996fee785d9f8af3a989dcbb7987c6e7",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.lottecinema.co.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 1,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://www.lottecinema.co.kr/NLCHS/Membership/l_point",
            "final_url": "https://www.lottecinema.co.kr/NLCHS/Membership/l_point",
            "http_status": 200,
            "page_kind": "combined",
            "form_input_count": 0,
            "attempts": [
              {
                "url": "https://www.lottecinema.co.kr/NLCHS/Membership/l_point",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.lottecinema.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.lottecinema.co.kr",
                "status": 200,
                "chars": 5
              }
            ],
            "content_sha256": "7560b48559a4f40131fbb35c163bdfa94cc54237f3f25bbebe17673a8ee2b1a1",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.622,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "lotteon",
      "name": {
        "en": "Lotte ON",
        "ko": "롯데온"
      },
      "url": "https://www.lotteon.com",
      "category": "shopping",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "376622474",
        "android_package": "com.lotte",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 145,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.lotteon.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.lotteon.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.lotteon.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "megabox",
      "name": {
        "en": "Megabox",
        "ko": "메가박스"
      },
      "url": "https://www.megabox.co.kr",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "894443858",
        "android_package": "com.megabox.mop",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22353,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.megabox.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              },
              {
                "url": "https://www.megabox.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.megabox.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "melon",
      "name": {
        "en": "Melon",
        "ko": "멜론"
      },
      "url": "https://www.melon.com",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.iloen.melon",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1520,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.melon.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.melon.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.iloen.melon",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.iloen.melon&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.melon.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "melon-ticket",
      "name": {
        "en": "Melon Ticket",
        "ko": "멜론티켓"
      },
      "url": "https://ticket.melon.com",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": "https://accounts.melon.com/join/choice?cpId=WP15",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1103635576",
        "android_package": "com.iloen.melonticket",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://ticket.melon.com/",
                "redirected": false,
                "elapsed_ms": 3127,
                "body_sha256": "ffe7cdcedc595d1f42cdfc656df6d2c7beb1d0de3ebd611066f67b5507b490ad",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://ticket.melon.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://ticket.melon.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:15:30.926Z",
          "last_changed_at": "2026-08-15T04:15:30.926Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://accounts.melon.com/join/choice?cpId=WP15",
            "final_url": "https://accounts.melon.com/join/choice?cpId=WP15",
            "http_status": 200,
            "page_kind": "combined",
            "form_input_count": 0,
            "attempts": [
              {
                "url": "https://accounts.melon.com/join/choice?cpId=WP15",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://ticket.melon.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://ticket.melon.com",
                "status": 200,
                "chars": 0
              }
            ],
            "content_sha256": "a4ed9bbed8ab4f20f7a9ad6a8d84c927539a8839a01ad5f1526aac4596efbf7d",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.704,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "modetour",
      "name": {
        "en": "Mode Tour",
        "ko": "모두투어"
      },
      "url": "https://www.modetour.com",
      "category": "accommodation",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.modetour.com/customer-center",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.modetour.m",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.modetour.com/",
                "redirected": false,
                "elapsed_ms": 4298,
                "body_sha256": "3b39ee9c7dbe5d990bb50f2bf43e28ffb8a31ac2549a0f0b13cd7b40d0c1ae78",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.modetour.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.modetour.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.122,
            "hangul_char_ratio": 0.519,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.modetour.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.modetour.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.modetour.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.modetour.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.modetour.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.modetour.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.modetour.com/customer-center",
                "status": 200,
                "chars": 552
              },
              {
                "url": "https://www.modetour.com",
                "status": 200,
                "chars": 2559
              },
              {
                "url": "https://www.modetour.com/customer-center",
                "status": 200,
                "chars": 552
              }
            ],
            "content_sha256": "7a64a3ab41a37c9ed2b4d7cff4c8a0eb85952c812ed9ed4f8894f06cec4a35b4",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.115,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "musinsa",
      "name": {
        "en": "Musinsa",
        "ko": "무신사"
      },
      "url": "https://www.musinsa.com",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1003139529",
        "android_package": "com.musinsa.store",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 263,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.musinsa.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.musinsa.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.musinsa.store",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.musinsa.store&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.musinsa.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "musinsa-global",
      "name": {
        "en": "Musinsa Global",
        "ko": "무신사 글로벌"
      },
      "url": "https://global.musinsa.com",
      "category": "shopping",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.musinsa.global",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 152,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://global.musinsa.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://global.musinsa.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://global.musinsa.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "national-museum",
      "name": {
        "en": "National Museum of Korea",
        "ko": "국립중앙박물관"
      },
      "url": "https://www.museum.go.kr",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": "https://www.museum.go.kr/MUSEUM/contents/membership.do",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "or.kr.nationalmuseum",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.museum.go.kr/MUSEUM/main/index.do",
                "redirected": true,
                "elapsed_ms": 6738,
                "body_sha256": "1a88cc9982417043ee8e77d8e3b18a85f838e1d5f2913be00a791a6844f9369c",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://www.museum.go.kr/ENG/main/index.do",
                "https://www.museum.go.kr/ENG/main/index.do",
                "https://www.museum.go.kr/leaflet/fileDownload/eng_leaflet",
                "https://www.museum.go.kr/leaflet/fileDownload/eng_garden"
              ],
              "ja": [
                "https://www.museum.go.kr/JPN/main/index.do",
                "https://www.museum.go.kr/JPN/main/index.do",
                "https://www.museum.go.kr/leaflet/fileDownload/jpn_leaflet"
              ],
              "zh": [
                "https://www.museum.go.kr/CHN/main/index.do",
                "https://www.museum.go.kr/CHN/main/index.do",
                "https://www.museum.go.kr/leaflet/fileDownload/chn_leaflet"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.museum.go.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.057,
            "hangul_char_ratio": 0.532,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.museum.go.kr/MUSEUM/contents/membership.do",
            "final_url": "https://www.museum.go.kr/MUSEUM/contents/membership.do",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "가입신청"
            ],
            "form_input_count": 3,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.museum.go.kr/MUSEUM/contents/membership.do",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.museum.go.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.museum.go.kr",
                "status": 200,
                "chars": 5322
              }
            ],
            "content_sha256": "79e7e3d92709f3e5ad77959ad6392b3e9135807c38f4080f2ae3de37eee68245",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.06,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "naver",
      "name": {
        "en": "Naver",
        "ko": "네이버"
      },
      "url": "https://www.naver.com",
      "category": "culture",
      "importance": 1,
      "hints": {
        "signup_url": "https://nid.naver.com/account/signup/term",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.nhn.android.search",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.naver.com/",
                "redirected": false,
                "elapsed_ms": 3003,
                "body_sha256": "6775ac3cf1347be45e9d5ad5936aa4195e3c5222389e478030346b1cc9bde58e",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.naver.com/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://www.naver.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.08,
            "hangul_char_ratio": 0.67,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://nid.naver.com/account/signup/term",
            "attempts": [
              {
                "url": "https://nid.naver.com/account/signup/term",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.nhn.android.search",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.nhn.android.search&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.naver.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.naver.com",
                "status": 200,
                "chars": 112
              }
            ],
            "content_sha256": "d5668800540664af6dbcc13bb1ebde9ae8cecae67b83fa5422d81ffac922f418",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.184,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "naver-booking",
      "name": {
        "en": "Naver Booking",
        "ko": "네이버 예약"
      },
      "url": "https://booking.naver.com",
      "category": "delivery",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1052,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://booking.naver.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://booking.naver.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://booking.naver.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No standalone app. Booking runs inside the main Naver app.",
        "ko": "별도 앱이 없습니다. 예약은 네이버 앱 안에서 합니다."
      }
    },
    {
      "id": "naver-map",
      "name": {
        "en": "Naver Map",
        "ko": "네이버 지도"
      },
      "url": "https://map.naver.com",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": "https://nid.naver.com/nidlogin.login?url=https%3A%2F%2Fmap.naver.com%2F",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.nhn.android.nmap",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://map.naver.com/p/",
                "redirected": true,
                "elapsed_ms": 3790,
                "body_sha256": "2f29f380fcac58dcba25b3b547452128896a1e134613fc04b778dfca5c625722",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://map.naver.com/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://map.naver.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://nid.naver.com/nidlogin.login?url=https%3A%2F%2Fmap.naver.com%2F",
            "attempts": [
              {
                "url": "https://nid.naver.com/nidlogin.login?url=https%3A%2F%2Fmap.naver.com%2F",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.nhn.android.nmap",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.nhn.android.nmap&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://map.naver.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://map.naver.com",
                "status": 200,
                "chars": 0
              }
            ],
            "content_sha256": "70db875e151725598a5efbde1f62282c6f948b261e2e645d7153c184b09323a7",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.667,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "naver-shopping",
      "name": {
        "en": "Naver Shopping",
        "ko": "네이버쇼핑"
      },
      "url": "https://shopping.naver.com",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "6738063154",
        "android_package": "com.navercorp.navershopping",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1063,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://shopping.naver.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://shopping.naver.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://shopping.naver.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “네이버플러스 스토어”, not under the Naver Shopping name.",
        "ko": "앱 이름은 ‘네이버플러스 스토어’입니다. 네이버쇼핑이라는 이름의 앱은 없습니다."
      }
    },
    {
      "id": "naverpay",
      "name": {
        "en": "Naver Pay",
        "ko": "네이버페이"
      },
      "url": "https://pay.naver.com",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://help.naver.com/service/5640/category/bookmark?lang=ko",
        "english_url": null,
        "ios_app_id": "1554807824",
        "android_package": "com.naverfin.payapp",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://nid.naver.com/nidlogin.login?url=http%3A%2F%2Fpay.naver.com%2Fpc%2Fhistory",
                "redirected": true,
                "elapsed_ms": 4807,
                "body_sha256": "19063c907189cf089a7188f18b56f7245b573385ebb0e2ad8a16aa1df312a6b1",
                "content_type": "text/html;charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://help.naver.com/service/5640/category/bookmark?lang=en"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://pay.naver.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://pay.naver.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.719,
            "hangul_char_ratio": 0.041,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://nid.naver.com/nidlogin.login?url=https://m.pay.naver.com/mobile/join?url%3Dhttps://m.pay.naver.com/mobile/home%26notBack%3D%26lang%26useSelectId%3Dfalse",
            "attempts": [
              {
                "url": "https://pay.naver.com/join",
                "status": 200,
                "used": true
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "naverpay"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://pay.naver.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "naverpay",
                "name": "네이버페이",
                "matched": "pay.naver.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://help.naver.com/service/5640/category/bookmark?lang=ko",
                "status": 200,
                "chars": 1377
              },
              {
                "url": "https://pay.naver.com",
                "status": 200,
                "chars": 609
              }
            ],
            "content_sha256": "b484f3f0381aff4bf8a15c0dd4d76d644bc18d062fa44ec81044c077ad86f169",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.272,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "nhis",
      "name": {
        "en": "National Health Insurance Service",
        "ko": "국민건강보험공단"
      },
      "url": "https://www.nhis.or.kr",
      "category": "government",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "kr.or.nhic",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.nhis.or.kr/",
                "redirected": false,
                "elapsed_ms": 3560,
                "body_sha256": "652bdbfc5e3839272fa2af916a509701849c53cf167afa890d94ca9a95c4d712",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.nhis.or.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.nhis.or.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 1,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.nhis.or.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.nhis.or.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.nhis.or.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.nhis.or.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.nhis.or.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.nhis.or.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.nhis.or.kr",
                "status": 200,
                "chars": 6
              }
            ],
            "content_sha256": "adbcde3bf5739762e8137b63a495f9d769c973108ed519b5f1674a2f048f6349",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.516,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “건강보험25시”.",
        "ko": "앱 이름은 ‘건강보험25시’입니다."
      }
    },
    {
      "id": "nonghyup",
      "name": {
        "en": "NH Nonghyup Bank",
        "ko": "NH농협은행"
      },
      "url": "https://banking.nonghyup.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1444712671",
        "android_package": "nh.smart.banking",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 4774,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(ECONNREFUSED)"
              }
            ],
            "note": "robots: robots-unavailable(ECONNREFUSED)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(ECONNREFUSED)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://banking.nonghyup.com/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(ECONNREFUSED)"
              },
              {
                "url": "https://banking.nonghyup.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://banking.nonghyup.com",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(ECONNREFUSED)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ntok",
      "name": {
        "en": "National Theater of Korea",
        "ko": "국립극장"
      },
      "url": "https://www.ntok.go.kr",
      "category": "ticketing",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22635,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.ntok.go.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              },
              {
                "url": "https://www.ntok.go.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.ntok.go.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No app on either store.",
        "ko": "두 스토어 모두에 앱이 없습니다."
      }
    },
    {
      "id": "nts",
      "name": {
        "en": "National Tax Service",
        "ko": "국세청"
      },
      "url": "https://www.nts.go.kr",
      "category": "government",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.nts.go.kr/nts/na/ntt/selectNttList.do?mi=40254&bbsId=50692",
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22868,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.nts.go.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              },
              {
                "url": "https://www.nts.go.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.nts.go.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The tax filing app “손택스” belongs to Hometax, a separate site. Whether this homepage has an app of its own has not been checked.",
        "ko": "세금 신고 앱 ‘손택스’는 별도 사이트인 홈택스의 앱입니다. 이 홈페이지 자체에 앱이 있는지는 확인하지 않았습니다."
      }
    },
    {
      "id": "oliveyoung",
      "name": {
        "en": "Olive Young",
        "ko": "올리브영"
      },
      "url": "https://www.oliveyoung.co.kr",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7030&brnd_cd=3000&mcht_no=3000",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "873779010",
        "android_package": "com.oliveyoung",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 403,
                "final_url": "https://www.oliveyoung.co.kr/",
                "redirected": false,
                "elapsed_ms": 3141,
                "body_sha256": "5d76631fa064ca1425446a980199b1a241adcce5a93df280cb8ac4696d16d98b",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "http_status=403",
            "http_status": 403,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7030&brnd_cd=3000&mcht_no=3000",
            "attempts": [
              {
                "url": "https://www.cjone.com/cjmweb/join.do?coopco_cd=7030&brnd_cd=3000&mcht_no=3000",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.oliveyoung.co.kr",
                "status": 403,
                "scanned": false,
                "reason": "http_status=403"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "oliveyoung-global",
      "name": {
        "en": "Olive Young Global",
        "ko": "올리브영 글로벌"
      },
      "url": "https://global.oliveyoung.com",
      "category": "shopping",
      "importance": 1,
      "hints": {
        "signup_url": "https://global.oliveyoung.com/member/join?prePage=/",
        "checkout_url": null,
        "support_url": "https://help.global.oliveyoung.com/hc/ko/categories/16411417936143-FAQ",
        "english_url": null,
        "ios_app_id": "1466755724",
        "android_package": "com.cafe24.ec.pluseoliveyoung",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://global.oliveyoung.com/",
                "redirected": false,
                "elapsed_ms": 2504,
                "body_sha256": "a41b8f7a41b742de72807b3d7f22573e77d8c7efcb695241fd7694ac1f9ddb9e",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://global.oliveyoung.com/cornerSet.IMAGE[0].contsUrlUseYn%20==",
                "https://global.oliveyoung.com/cornerSet.IMAGE[0].contsUrlUseYn%20=="
              ]
            },
            "english_url_checks": [
              {
                "url": "https://global.oliveyoung.com/en",
                "status": 403,
                "ok": false
              },
              {
                "url": "https://global.oliveyoung.com/en/",
                "status": 403,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.805,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:28:31.541Z",
          "last_changed_at": "2026-08-15T04:28:31.541Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://global.oliveyoung.com/member/join?prePage=/",
            "final_url": "https://global.oliveyoung.com/member/join?prePage=/",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "sign up",
              "register"
            ],
            "form_input_count": 21,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://global.oliveyoung.com/member/join?prePage=/",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1466755724",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1466755724&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.cafe24.ec.pluseoliveyoung",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.cafe24.ec.pluseoliveyoung&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "paypal"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://global.oliveyoung.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "paypal",
                "name": "PayPal",
                "matched": "PayPal",
                "via": "text"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "yes",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "auto",
          "evidence": {
            "pages": [
              {
                "url": "https://global.oliveyoung.com",
                "status": 200,
                "chars": 8000
              }
            ],
            "content_sha256": "2f35d1dca4a8697b229fcce3014e37d091cafbb4895976857843af60b94a3ee2",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "yes",
              "strong_markers": [
                "english support"
              ],
              "latin_ratio": 0.805,
              "reason": "영문 지원을 명시하는 문구를 찾음"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "payco",
      "name": {
        "en": "PAYCO",
        "ko": "페이코"
      },
      "url": "https://www.payco.com",
      "category": "finance",
      "importance": 3,
      "hints": {
        "signup_url": "https://membership.payco.com/",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "924292102",
        "android_package": "com.nhnent.payapp",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.payco.com/",
                "redirected": false,
                "elapsed_ms": 3425,
                "body_sha256": "daeb6d8d9a8845b2c068935734d412963beae545f76d4aa138bb85d600638e2c",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.payco.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.payco.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.083,
            "hangul_char_ratio": 0.631,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://membership.payco.com/",
            "final_url": "https://membership.payco.com/",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "통합회원"
            ],
            "form_input_count": 5,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://membership.payco.com/",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "924292102",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=924292102&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.nhnent.payapp",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.nhnent.payapp&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "payco"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.payco.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "payco",
                "name": "PAYCO",
                "matched": "payco.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.payco.com",
                "status": 200,
                "chars": 1185
              },
              {
                "url": "https://www.payco.com/cs/notice.nhn?opnLnk=5534",
                "status": 200,
                "chars": 171
              },
              {
                "url": "https://www.payco.com/cs/notice.nhn?opnLnk=5551",
                "status": 200,
                "chars": 171
              }
            ],
            "content_sha256": "1ecc72dbaff97b850cc75eaaaf51cc4672173dfe4b055019119d6ba79ec5b173",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.135,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ridibooks",
      "name": {
        "en": "RIDI Books",
        "ko": "리디북스"
      },
      "url": "https://ridibooks.com",
      "category": "culture",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://ridihelp.ridibooks.com/support/home",
        "english_url": null,
        "ios_app_id": "338813698",
        "android_package": "com.initialcoms.ridi",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://ridibooks.com/comics/ebook",
                "redirected": true,
                "elapsed_ms": 3221,
                "body_sha256": "40dc0fc417f471f81f31acfba7152cb295f91377960732632755fa489a4f7a6a",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://ridibooks.com/event/97571"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://ridibooks.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://ridibooks.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.167,
            "hangul_char_ratio": 0.523,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://ridibooks.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://ridibooks.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://ridibooks.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://ridibooks.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://ridibooks.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "338813698",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=338813698&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.initialcoms.ridi",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.initialcoms.ridi&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://ridibooks.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://ridihelp.ridibooks.com/support/home",
                "status": 200,
                "chars": 909
              },
              {
                "url": "https://ridibooks.com",
                "status": 200,
                "chars": 8000
              },
              {
                "url": "https://ridibooks.com/comics/ebook",
                "status": 200,
                "chars": 10000
              },
              {
                "url": "https://ridibooks.com/comics/bestsellers",
                "status": 200,
                "chars": 3269
              }
            ],
            "content_sha256": "3892da7087da8763b9a4f47181666f7e051ab2eb91fc1e1f8dbe79e66e9452e6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.175,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "sac",
      "name": {
        "en": "Seoul Arts Center",
        "ko": "예술의전당"
      },
      "url": "https://www.sac.or.kr",
      "category": "ticketing",
      "importance": 2,
      "hints": {
        "signup_url": "https://www.sac.or.kr/site/main/membership/member_step_membership",
        "checkout_url": null,
        "support_url": "https://www.sac.or.kr/site/main/board/academyfaq/list",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "kr.or.sac.sacapp",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.sac.or.kr/site/main/home",
                "redirected": true,
                "elapsed_ms": 5003,
                "body_sha256": "72bce8c4ad6b3a0f020ab3960c38a475ae2cd3267927ca1fc8e057396473a9c0",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://www.sac.or.kr/site/eng/home",
                "https://www.sac.or.kr/site/main/content/informationOpenGuide",
                "https://www.sac.or.kr/site/main/content/informationOpenGuide",
                "https://www.sac.or.kr/site/main/content/informationOpenGuide"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.sac.or.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.sac.or.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.033,
            "hangul_char_ratio": 0.535,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.sac.or.kr/site/main/membership/member_step_membership",
            "final_url": "https://www.sac.or.kr/site/main/membership/member_step_membership",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "회원 가입",
              "가입신청"
            ],
            "form_input_count": 6,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.sac.or.kr/site/main/membership/member_step_membership",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.sac.or.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.sac.or.kr/site/main/board/academyfaq/list",
                "status": 200,
                "chars": 1956
              },
              {
                "url": "https://www.sac.or.kr",
                "status": 200,
                "chars": 3250
              },
              {
                "url": "https://www.sac.or.kr/site/main/board/academyfaq/list",
                "status": 200,
                "chars": 1956
              },
              {
                "url": "https://www.sac.or.kr/site/main/content/musicSquare",
                "status": 200,
                "chars": 1787
              }
            ],
            "content_sha256": "850b96def2ebc4607ce0912aa0ea1284694bc5d546f4dfb137ec0fe1343dc5c0",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.057,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "safedriving",
      "name": {
        "en": "Korea Road Traffic Authority",
        "ko": "도로교통공단 안전운전 통합민원"
      },
      "url": "https://www.safedriving.or.kr",
      "category": "government",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.dreamsecurity.MobileRelay.SampleCrypto",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.safedriving.or.kr/",
                "redirected": false,
                "elapsed_ms": 3874,
                "body_sha256": "2e23c3d3f7353b07a4b975ce10d819d1bd1bc71019acbaef574049ae33aae824",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.safedriving.or.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.safedriving.or.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.091,
            "hangul_char_ratio": 0.591,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.safedriving.or.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.safedriving.or.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.safedriving.or.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.safedriving.or.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.safedriving.or.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.safedriving.or.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.safedriving.or.kr",
                "status": 200,
                "chars": 1082
              }
            ],
            "content_sha256": "b3060129be87b9b37916182216e25cda1f05bc5df33ff68e174344009939fc0e",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.109,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “교통민원24(이파인)”.",
        "ko": "앱 이름은 ‘교통민원24(이파인)’입니다."
      }
    },
    {
      "id": "samsung-hospital",
      "name": {
        "en": "Samsung Medical Center",
        "ko": "삼성서울병원"
      },
      "url": "http://www.samsunghospital.com",
      "category": "healthcare",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.smc.mobile.pguidea",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "http://www.samsunghospital.com/",
                "redirected": false,
                "elapsed_ms": 3022,
                "body_sha256": "79a55d2ce0e6dc8551faaf085a700ee2b899032704e814b6e8962e8cb0ec1123",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "http://www.samsunghospital.com/en",
                "status": 400,
                "ok": false
              },
              {
                "url": "http://www.samsunghospital.com/en/",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "http://www.samsunghospital.com/join",
                "status": 400,
                "used": false
              },
              {
                "url": "http://www.samsunghospital.com/signup",
                "status": 400,
                "used": false
              },
              {
                "url": "http://www.samsunghospital.com/member/join",
                "status": 400,
                "used": false
              },
              {
                "url": "http://www.samsunghospital.com/register",
                "status": 400,
                "used": false
              },
              {
                "url": "http://www.samsunghospital.com/user/join",
                "status": 400,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "http://www.samsunghospital.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "http://www.samsunghospital.com",
                "status": 200,
                "chars": 8
              }
            ],
            "content_sha256": "ef0f9ce7919dc28b2674bfa560c7adf8ce054324956ab8532f4dc1e014a474f4",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.61,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "sentbe",
      "name": {
        "en": "Sentbe",
        "ko": "센트비"
      },
      "url": "https://www.sentbe.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1115554824",
        "android_package": "com.sentbe",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.sentbe.com/",
                "redirected": false,
                "elapsed_ms": 2755,
                "body_sha256": "981ba38cdb5388f93130aea894956ecdb7ebb46888c586b1802e6bac9fef38fe",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.sentbe.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.sentbe.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.545,
            "hangul_char_ratio": 0.364,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://www.sentbe.com/join",
            "final_url": "https://corporate.sentbe.com/sentbe?lang=en",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://www.sentbe.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.sentbe.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.sentbe.com",
                "status": 200,
                "chars": 11
              }
            ],
            "content_sha256": "3f1794d69925a4f5de07067c8a3814c0fcb18da6dd947e39817468507c2bf435",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.639,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "seoul-global",
      "name": {
        "en": "Seoul Global Center",
        "ko": "서울글로벌센터"
      },
      "url": "https://global.seoul.go.kr",
      "category": "government",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": null,
        "no_app": true
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://global.seoul.go.kr/",
                "redirected": false,
                "elapsed_ms": 3555,
                "body_sha256": "79407a2033d2fbcdd1c357cdb3f36eef3c3311601feeb5054438bd537437de8e",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://global.seoul.go.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://global.seoul.go.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://global.seoul.go.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://global.seoul.go.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://global.seoul.go.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://global.seoul.go.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://global.seoul.go.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://global.seoul.go.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://global.seoul.go.kr",
                "status": 200,
                "chars": 0
              }
            ],
            "content_sha256": "088b593c8a00f26d073f11658d389e9945efaec491c3f1e4f328e752238d76ce",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.69,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "No app on either store.",
        "ko": "두 스토어 모두에 앱이 없습니다."
      }
    },
    {
      "id": "seoul-metro",
      "name": {
        "en": "Seoul Metro",
        "ko": "서울교통공사"
      },
      "url": "https://www.seoulmetro.co.kr",
      "category": "transport",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1174757125",
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 3412,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              }
            ],
            "note": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.seoulmetro.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              },
              {
                "url": "https://www.seoulmetro.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.seoulmetro.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UNABLE_TO_VERIFY_LEAF_SIGNATURE)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "severance",
      "name": {
        "en": "Severance Hospital",
        "ko": "세브란스병원"
      },
      "url": "https://sev.severance.healthcare",
      "category": "healthcare",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://sev.severance.healthcare/sev/patient-carer/appointment/checkup/faq.do",
        "english_url": null,
        "ios_app_id": "1291198838",
        "android_package": "com.dbs.mcare.severance",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://sev.severance.healthcare/sev/index.do",
                "redirected": true,
                "elapsed_ms": 5442,
                "body_sha256": "79ec5e6a876d2800964b863d20afe6be7ec9c0fa5088b1edf9c3da0ab1118170",
                "content_type": "text/html; charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://sev.severance.healthcare/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://sev.severance.healthcare/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.098,
            "hangul_char_ratio": 0.638,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://sev.severance.healthcare/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://sev.severance.healthcare/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://sev.severance.healthcare/member/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /member/"
              },
              {
                "url": "https://sev.severance.healthcare (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1291198838",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1291198838&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.dbs.mcare.severance",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.dbs.mcare.severance&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://sev.severance.healthcare",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://sev.severance.healthcare/sev/patient-carer/appointment/checkup/faq.do",
                "status": 200,
                "chars": 6354
              },
              {
                "url": "https://sev.severance.healthcare",
                "status": 200,
                "chars": 4687
              },
              {
                "url": "https://sev.severance.healthcare/sev/patient-carer/appointment/checkup/faq.do",
                "status": 200,
                "chars": 6354
              },
              {
                "url": "https://sev.severance.healthcare/sev/patient-carer/guide/treatment-guide/unsupported.do",
                "status": 200,
                "chars": 5104
              }
            ],
            "content_sha256": "c9e59d5c8a5d5aa1800fc2c4e3b3e9a10678683f2a52ee43e73b420056314acc",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.056,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "shinhan-bank",
      "name": {
        "en": "Shinhan Bank",
        "ko": "신한은행"
      },
      "url": "https://bank.shinhan.com",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.shinhan.com/hpe/index.jsp#050601000000",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "357484932",
        "android_package": "com.shinhan.sbanking",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 16842,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(ECONNREFUSED)"
              }
            ],
            "note": "robots: robots-unavailable(ECONNREFUSED)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(ECONNREFUSED)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(robots.txt 응답 599)",
            "signup_url": "https://www.shinhan.com/hpe/index.jsp#050601000000",
            "attempts": [
              {
                "url": "https://www.shinhan.com/hpe/index.jsp#050601000000",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://bank.shinhan.com",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(ECONNREFUSED)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "sk7mobile",
      "name": {
        "en": "SK 7mobile",
        "ko": "SK세븐모바일"
      },
      "url": "https://www.sk7mobile.com",
      "category": "telecom",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.sktelinkapp",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.sk7mobile.com/",
                "redirected": false,
                "elapsed_ms": 3339,
                "body_sha256": "f1171b72f73c06b7002e78e0b05d0102a9ba900ed6864b2059bdee4651ba046a",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.sk7mobile.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.sk7mobile.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.8,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.sk7mobile.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.sk7mobile.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.sk7mobile.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.sk7mobile.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.sk7mobile.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.sk7mobile.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.sk7mobile.com",
                "status": 200,
                "chars": 10
              }
            ],
            "content_sha256": "13268ed3aa49aa141a3c1a48080cf453e8ca2ba95f3fc48117ca216389df14be",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.711,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "skt",
      "name": {
        "en": "SK Telecom (T world)",
        "ko": "SKT 티월드"
      },
      "url": "https://www.tworld.co.kr",
      "category": "telecom",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.tworld.co.kr/web/login/tid-join",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.sktelecom.minit",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.tworld.co.kr/web/home",
                "redirected": true,
                "elapsed_ms": 4172,
                "body_sha256": "2260ce2db395148b8c954edb8991a601042e6df516668018348f1254674e656c",
                "content_type": "text/html;charset=UTF-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.tworld.co.kr/en",
                "status": 500,
                "ok": false
              },
              {
                "url": "https://www.tworld.co.kr/en/",
                "status": null,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.456,
            "hangul_char_ratio": 0.281,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: *login*",
            "signup_url": "https://www.tworld.co.kr/web/login/tid-join",
            "attempts": [
              {
                "url": "https://www.tworld.co.kr/web/login/tid-join",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.tworld.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.tworld.co.kr",
                "status": 200,
                "chars": 57
              }
            ],
            "content_sha256": "6a0dcc76e1e6f7456060928b7d390162c1ff48a85db78625b07cee10f49637b8",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.524,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "The app is published as “T world”.",
        "ko": "앱 이름은 ‘T world’입니다."
      }
    },
    {
      "id": "snuh",
      "name": {
        "en": "Seoul National University Hospital",
        "ko": "서울대학교병원"
      },
      "url": "https://www.snuh.org",
      "category": "healthcare",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.lemonhc.mcare.snuh",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.snuh.org/",
                "redirected": false,
                "elapsed_ms": 3169,
                "body_sha256": "3cce185cc32f60026b1d71971ce3326dba3a6d2490acfb3c08f963ef7d5bebb1",
                "content_type": "text/html;charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.snuh.org/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.snuh.org/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0.867,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.snuh.org/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.snuh.org/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.snuh.org/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.snuh.org/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.snuh.org/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.snuh.org",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.snuh.org",
                "status": 200,
                "chars": 15
              }
            ],
            "content_sha256": "9c694a7cd00394b670663a4c12d20006713021a4a61683eae9972b0fd7b80fa5",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.395,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "srt",
      "name": {
        "en": "SRT",
        "ko": "SRT"
      },
      "url": "https://etk.srail.kr",
      "category": "transport",
      "importance": 1,
      "hints": {
        "signup_url": "https://etk.srail.kr/cmc/02/selectJoinInfo.do?pageId=TK0702000000",
        "checkout_url": null,
        "support_url": "https://etk.srail.kr/cms/archive.do?pageId=TK0406010000",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "kr.co.srail.app",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://etk.srail.kr/main.do",
                "redirected": true,
                "elapsed_ms": 7529,
                "body_sha256": "7adab01f42b2e260b8e8ce7527e709fb6f0049e75fa65e15e0ebc4b0aa750537",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://etk.srail.kr/main.do?language=EN"
              ],
              "ja": [
                "https://etk.srail.kr/main.do?language=JA"
              ],
              "zh": [
                "https://etk.srail.kr/main.do?language=CN",
                "https://etk.srail.kr/main.do?language=TW"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://etk.srail.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://etk.srail.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.036,
            "hangul_char_ratio": 0.663,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T03:53:01.010Z",
          "last_changed_at": "2026-08-15T03:53:01.010Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://etk.srail.kr/cmc/02/selectJoinInfo.do?pageId=TK0702000000",
            "final_url": "https://etk.srail.kr/cmc/02/selectJoinInfo.do?pageId=TK0702000000",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "가입하기",
              "가입신청",
              "통합회원",
              "약관동의"
            ],
            "form_input_count": 2,
            "matched_vendors": [
              {
                "id": "generic-phone-auth",
                "name": "일반 휴대폰 본인인증 문구",
                "matched": "본인인증",
                "via": "text"
              }
            ],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://etk.srail.kr/cmc/02/selectJoinInfo.do?pageId=TK0702000000",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": false,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "kr.co.srail.app",
              "listed": false,
              "endpoint": "https://play.google.com/store/apps/details?id=kr.co.srail.app&hl=en",
              "http_status": 404,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://etk.srail.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://etk.srail.kr/cms/archive.do?pageId=TK0406010000",
                "status": 200,
                "chars": 1710
              },
              {
                "url": "https://etk.srail.kr",
                "status": 200,
                "chars": 4200
              },
              {
                "url": "https://etk.srail.kr/cms/archive.do?pageId=TK0406010000",
                "status": 200,
                "chars": 1710
              },
              {
                "url": "https://etk.srail.kr/cms/article/list.do?pageId=TK0504000000",
                "status": 200,
                "chars": 1567
              }
            ],
            "content_sha256": "4cd111e2c366c9e6c56b32e36a0d4825743ba3555c6b3fad81f1b572c14946a6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.068,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "ssg",
      "name": {
        "en": "SSG.COM",
        "ko": "SSG닷컴"
      },
      "url": "https://www.ssg.com",
      "category": "shopping",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "786135420",
        "android_package": "kr.co.ssg",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 695,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.ssg.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.ssg.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.ssg.com",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "starbucks-kr",
      "name": {
        "en": "Starbucks Korea",
        "ko": "스타벅스 코리아"
      },
      "url": "https://www.starbucks.co.kr",
      "category": "delivery",
      "importance": 2,
      "hints": {
        "signup_url": "https://www.starbucks.co.kr/mem/join1.do",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "466682252",
        "android_package": "com.starbucks.co",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.starbucks.co.kr/",
                "redirected": false,
                "elapsed_ms": 5185,
                "body_sha256": "46223c228da9076d32ed1c0e26be1c18432e5fc7d5a55181aff9164adef35dbd",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.starbucks.co.kr/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.starbucks.co.kr/mem/join1.do",
            "final_url": "https://www.starbucks.co.kr/mem/join1.do",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "회원가입",
              "회원 가입",
              "가입하기",
              "가입신청",
              "약관동의",
              "약관에 동의",
              "이용약관 동의"
            ],
            "form_input_count": 8,
            "matched_vendors": [
              {
                "id": "ipin",
                "name": "아이핀 (i-PIN)",
                "matched": "아이핀",
                "via": "text"
              },
              {
                "id": "generic-phone-auth",
                "name": "일반 휴대폰 본인인증 문구",
                "matched": "본인인증",
                "via": "text"
              }
            ],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.starbucks.co.kr/mem/join1.do",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "466682252",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=466682252&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.starbucks.co",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.starbucks.co&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.starbucks.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.starbucks.co.kr",
                "status": 200,
                "chars": 0
              }
            ],
            "content_sha256": "42b1feb6208b6c8e0af9ddbd4342401e1fd75c70542c677b709d6bb4a557f440",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.7,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "tada",
      "name": {
        "en": "TADA",
        "ko": "타다"
      },
      "url": "https://tadatada.com",
      "category": "transport",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.tadatada.com/ad-biz",
        "english_url": null,
        "ios_app_id": "1422751774",
        "android_package": "kr.co.vcnc.tada",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.tadatada.com/",
                "redirected": true,
                "elapsed_ms": 2511,
                "body_sha256": "5990b438a2b1a84b8e9f7ade68e5ffbc5c13c0b41c45176770adbcbb43d46fae",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://tadatada.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://tadatada.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.125,
            "hangul_char_ratio": 0.569,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://tadatada.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://tadatada.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://tadatada.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://tadatada.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://tadatada.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1422751774",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1422751774&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "kr.co.vcnc.tada",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=kr.co.vcnc.tada&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://tadatada.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.tadatada.com/ad-biz",
                "status": 200,
                "chars": 1851
              },
              {
                "url": "https://tadatada.com",
                "status": 200,
                "chars": 4521
              },
              {
                "url": "https://www.tadatada.com/ad-biz",
                "status": 200,
                "chars": 1851
              },
              {
                "url": "https://www.tadatada.com/business-ask",
                "status": 200,
                "chars": 1428
              }
            ],
            "content_sha256": "70b71e02e8fda733cd66b7fe58285e0aee8e932fd14273e103ca34554779aac3",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.154,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "themoin",
      "name": {
        "en": "Moin",
        "ko": "모인"
      },
      "url": "https://themoin.com",
      "category": "finance",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.themoin.remit",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.themoin.com/",
                "redirected": true,
                "elapsed_ms": 2320,
                "body_sha256": "043aec5078ae7186f9a17f376f17f0e2d0ddbb16f336e7748ade63a39f8d0d31",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://themoin.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://themoin.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://www.themoin.com/join",
            "final_url": "https://www.themoin.com/",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://themoin.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://themoin.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://themoin.com",
                "status": 200,
                "chars": 0
              }
            ],
            "content_sha256": "7a60fc4bdeff6c08fd52bf83d562f3ba47c9bcc3c762e471cb19baa31b414977",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.682,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "tmap",
      "name": {
        "en": "TMAP",
        "ko": "티맵"
      },
      "url": "https://www.tmap.co.kr",
      "category": "transport",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.tmapmobility.com/support/data",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.skt.tmap.ku",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.tmapmobility.com/",
                "redirected": true,
                "elapsed_ms": 4729,
                "body_sha256": "d07ef10d3a9955b2e226ecaf99519ff45858c5ccfcd93c3bab219feebbbf0562",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.tmap.co.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.tmap.co.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.116,
            "hangul_char_ratio": 0.483,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.tmap.co.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tmap.co.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tmap.co.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tmap.co.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tmap.co.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.skt.tmap.ku",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.skt.tmap.ku&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.tmap.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.tmapmobility.com/support/data",
                "status": 200,
                "chars": 1211
              },
              {
                "url": "https://www.tmap.co.kr",
                "status": 200,
                "chars": 2214
              },
              {
                "url": "https://ethics.sk.co.kr/",
                "status": 200,
                "chars": 799
              },
              {
                "url": "https://www.tmap.co.kr/tmap2/mobile/tmap.jsp?scheme=tmap&amp;host=cs?pageid=qna",
                "status": 200,
                "chars": 111
              }
            ],
            "content_sha256": "5da6655e0a5ad832ab975f02e6d2450535c09e8dc7230115ac1debb98ad35db6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.172,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "tmoney",
      "name": {
        "en": "T-money",
        "ko": "티머니"
      },
      "url": "https://www.t-money.co.kr",
      "category": "transport",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1470361790",
        "android_package": "com.lgt.tmoney",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 22712,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.t-money.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              },
              {
                "url": "https://www.t-money.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.t-money.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(UND_ERR_CONNECT_TIMEOUT)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "toss",
      "name": {
        "en": "Toss",
        "ko": "토스"
      },
      "url": "https://toss.im",
      "category": "finance",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://support.toss.im/",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "viva.republica.toss",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://toss.im/",
                "redirected": false,
                "elapsed_ms": 2978,
                "body_sha256": "a15b609fab69807c8190534196bc0cee510cedd6ef7cbe7d0193ae8983d9203d",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://toss.im/en"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://toss.im/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.012,
            "hangul_char_ratio": 0.678,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://toss.im/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://toss.im/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://toss.im/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://toss.im/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://toss.im/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "viva.republica.toss",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=viva.republica.toss&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "tosspayments"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://toss.im",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "tosspayments",
                "name": "토스페이먼츠",
                "matched": "tosspayments.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://support.toss.im/",
                "status": 200,
                "chars": 962
              },
              {
                "url": "https://toss.im",
                "status": 200,
                "chars": 2525
              },
              {
                "url": "https://support.toss.im/",
                "status": 200,
                "chars": 962
              },
              {
                "url": "https://support.toss.im/faq",
                "status": 200,
                "chars": 572
              }
            ],
            "content_sha256": "30708f24acc71746fcc8c25a33c82df3eee6ae4ce09f21e50452969f3a091b62",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.029,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "tossbank",
      "name": {
        "en": "Toss Bank",
        "ko": "토스뱅크"
      },
      "url": "https://www.tossbank.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.tossbank.com/customer/information/privacy/privacy-policy",
        "english_url": null,
        "ios_app_id": "839333328",
        "android_package": "viva.republica.toss",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.tossbank.com/",
                "redirected": false,
                "elapsed_ms": 3528,
                "body_sha256": "1a3b3a89853d53b13e01ecab204cd55cb965d0aef71ef0edd56ce1a4dbd19b04",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.tossbank.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.tossbank.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.031,
            "hangul_char_ratio": 0.599,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.tossbank.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tossbank.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tossbank.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tossbank.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tossbank.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "839333328",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=839333328&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "viva.republica.toss",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=viva.republica.toss&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.tossbank.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.tossbank.com/customer/information/privacy/privacy-policy",
                "status": 200,
                "chars": 1123
              },
              {
                "url": "https://www.tossbank.com",
                "status": 200,
                "chars": 1432
              },
              {
                "url": "https://www.tossbank.com/customer/information/privacy/privacy-policy",
                "status": 200,
                "chars": 1123
              },
              {
                "url": "https://www.tossbank.com/customer/information/privacy/credit-information",
                "status": 200,
                "chars": 1123
              }
            ],
            "content_sha256": "20e9b736fb3fb85dd2bf6b851ed9ca8cf57ad8d35366913f7a5cfb6286435ec6",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.066,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "travel-wallet",
      "name": {
        "en": "Travel Wallet",
        "ko": "트래블월렛"
      },
      "url": "https://www.travel-wallet.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://enterprise.travel-wallet.com/home",
        "english_url": null,
        "ios_app_id": "1460769945",
        "android_package": "com.mobiletoong.travelwallet",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.travel-wallet.com/ko",
                "redirected": true,
                "elapsed_ms": 3310,
                "body_sha256": "549a634ffd2956a8c532f4c64291915ba72d21681bf21ecc25dbc25c53895537",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [
              "en",
              "ko"
            ],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.travel-wallet.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.043,
            "hangul_char_ratio": 0.623,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.travel-wallet.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.travel-wallet.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.travel-wallet.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.travel-wallet.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.travel-wallet.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1460769945",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1460769945&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.mobiletoong.travelwallet",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.mobiletoong.travelwallet&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.travel-wallet.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://enterprise.travel-wallet.com/home",
                "status": 200,
                "chars": 838
              },
              {
                "url": "https://www.travel-wallet.com",
                "status": 200,
                "chars": 8000
              },
              {
                "url": "https://enterprise.travel-wallet.com/",
                "status": 200,
                "chars": 838
              },
              {
                "url": "https://www.travel-wallet.com/ko/docs/privacy",
                "status": 200,
                "chars": 10000
              }
            ],
            "content_sha256": "0c9e66501e46d31e0d81246b21a966f7f92f65bbda8cd9c78863a1bd8ce9e0ee",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.058,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "tving",
      "name": {
        "en": "TVING",
        "ko": "티빙"
      },
      "url": "https://www.tving.com",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://www.tving.com/help/notice",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "net.cj.cjhv.gs.tving",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.tving.com/",
                "redirected": false,
                "elapsed_ms": 3317,
                "body_sha256": "1a7fb5cd687f2532fc9829e229931aa71c001062ccecea2522d9bbc97f276e3d",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.tving.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.tving.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.097,
            "hangul_char_ratio": 0.639,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.tving.com/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tving.com/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tving.com/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tving.com/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://www.tving.com/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "net.cj.cjhv.gs.tving",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=net.cj.cjhv.gs.tving&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.tving.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.tving.com/help/notice",
                "status": 200,
                "chars": 122
              },
              {
                "url": "https://www.tving.com",
                "status": 200,
                "chars": 72
              },
              {
                "url": "https://www.tving.com/help/notice",
                "status": 200,
                "chars": 122
              }
            ],
            "content_sha256": "047901aabf697767c2110de2695b935ec3179f07b39df91e2af8da21b758ea9a",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.228,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "txbus",
      "name": {
        "en": "Txbus (Intercity Bus)",
        "ko": "시외버스 통합예매"
      },
      "url": "https://txbus.t-money.co.kr",
      "category": "transport",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": null,
        "android_package": "kr.co.tmoney.tia",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 1430,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: Disallow: /"
              }
            ],
            "note": "robots: Disallow: /"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://txbus.t-money.co.kr/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://txbus.t-money.co.kr (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://txbus.t-money.co.kr",
                "status": null,
                "scanned": false,
                "reason": "robots: Disallow: /"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": "Booking runs through the “티머니GO” app, which merged the separate express-bus and intercity-bus apps into one.",
        "ko": "예매는 ‘티머니GO’ 앱에서 합니다. 고속버스 앱과 시외버스 앱을 하나로 합친 앱입니다."
      }
    },
    {
      "id": "visitkorea",
      "name": {
        "en": "Visit Korea (KTO)",
        "ko": "한국관광공사 비지트코리아"
      },
      "url": "https://english.visitkorea.or.kr",
      "category": "government",
      "importance": 1,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "417340885",
        "android_package": "com.visitkorea.eng",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://english.visitkorea.or.kr/svc/main/index.do",
                "redirected": true,
                "elapsed_ms": 3653,
                "body_sha256": "4a1b2379bc53953b51bb67d268ef6b51c2e9027376e3a6c3aff38e625b391001",
                "content_type": "text/html;charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "de",
            "en",
            "es",
            "fr",
            "ja",
            "ko",
            "ru",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [
              "en",
              "ja",
              "zh-cn",
              "zh-tw",
              "fr",
              "de",
              "es",
              "ru"
            ],
            "language_switcher_links": {
              "en": [
                "https://english.visitkorea.or.kr/vkmap/gis_od.kto?mode=mapSearch&amp;lang=1",
                "https://english.visitkorea.or.kr/svc/main/index.do",
                "https://english.visitkorea.or.kr/",
                "https://english.visitkorea.or.kr/svc/br/KTOSydney",
                "https://english.visitkorea.or.kr/svc/br/KTOLondon"
              ],
              "ja": [
                "https://japanese.visitkorea.or.kr/"
              ],
              "zh": [
                "https://chinese.visitkorea.or.kr/",
                "https://big5chinese.visitkorea.or.kr/"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://english.visitkorea.or.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://english.visitkorea.or.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.815,
            "hangul_char_ratio": 0.005,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://english.visitkorea.or.kr/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://english.visitkorea.or.kr/signup",
                "status": 404,
                "used": false
              },
              {
                "url": "https://english.visitkorea.or.kr/member/join",
                "status": 404,
                "used": false
              },
              {
                "url": "https://english.visitkorea.or.kr/register",
                "status": 404,
                "used": false
              },
              {
                "url": "https://english.visitkorea.or.kr/user/join",
                "status": 404,
                "used": false
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "앱 ID 미상",
            "hint": "data/seeds/services.seed.json 의 hints.ios_app_id / hints.android_package 를 채우면 측정된다",
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:47:26.950Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://english.visitkorea.or.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T03:17:07.455Z",
          "last_changed_at": "2026-08-15T03:17:07.455Z",
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://english.visitkorea.or.kr",
                "status": 200,
                "chars": 7443
              },
              {
                "url": "https://english.visitkorea.or.kr/svc/whereToGo/hdrdslt/hdrdsltView.do?crsSn=379798",
                "status": 200,
                "chars": 8788
              }
            ],
            "content_sha256": "29c60ccdcc18f2b0d0b7020ef713d3ed7921cf22f10b1fdbfa3d45c1ce66abe0",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.814,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "watcha",
      "name": {
        "en": "Watcha",
        "ko": "왓챠"
      },
      "url": "https://watcha.com",
      "category": "culture",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://help.watcha.com/hc/ko",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.frograms.wplay",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://watcha.com/ko/browse/all",
                "redirected": true,
                "elapsed_ms": 3858,
                "body_sha256": "df39dd70477148a4f9280edecf3098f5227807bf1c6597deae5b4d6b181e35a8",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ja",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [
              "ko",
              "ja",
              "en"
            ],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://watcha.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.304,
            "hangul_char_ratio": 0.377,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://watcha.com/ko/browse/all",
            "final_url": "https://watcha.com/ko/browse/all",
            "http_status": 200,
            "page_kind": "login",
            "login_markers": [
              "로그인"
            ],
            "attempts": [
              {
                "url": "https://watcha.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.frograms.wplay",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.frograms.wplay&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://watcha.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://watcha.com",
                "status": 200,
                "chars": 424
              },
              {
                "url": "https://services.watcha.com/watcha-mediakit",
                "status": 200,
                "chars": 3186
              }
            ],
            "content_sha256": "310c37ab51fa9cf8ca8aff0f1a03294b061abf68b05f69ef42c30e4318fa9158",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.1,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "wavve",
      "name": {
        "en": "Wavve",
        "ko": "웨이브"
      },
      "url": "https://www.wavve.com",
      "category": "culture",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "987782077",
        "android_package": "kr.co.captv.pooqV2",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.wavve.com/",
                "redirected": false,
                "elapsed_ms": 2730,
                "body_sha256": "f077ecf259b4fd6306b5e2451b71e3387bc079b0bb96710fccfde8925f34e547",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.wavve.com/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://www.wavve.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.5,
            "hangul_char_ratio": 0.3,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.wavve.com/join",
                "status": null,
                "used": false,
                "reason": "robots: Disallow: /"
              },
              {
                "url": "https://www.wavve.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "987782077",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=987782077&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "kr.co.captv.pooqV2",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=kr.co.captv.pooqV2&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.wavve.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.wavve.com",
                "status": 200,
                "chars": 10
              }
            ],
            "content_sha256": "6f10638a0973345077b439d64a4c6125cba41019621d234fb0f43ed703316f1d",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.618,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "wirebarley",
      "name": {
        "en": "WireBarley",
        "ko": "와이어바알리"
      },
      "url": "https://www.wirebarley.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": "https://help.wirebarley.com/ko/support/home",
        "english_url": null,
        "ios_app_id": "1250275816",
        "android_package": null,
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.wirebarley.com/en",
                "redirected": true,
                "elapsed_ms": 2762,
                "body_sha256": "d47e3f3880da2a175d24fc449799050a40f3b6c2354c44d73b8dec7790cfac41",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "id",
            "ja",
            "ko",
            "ms",
            "ne",
            "th",
            "tl",
            "vi",
            "zh"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "en",
            "hreflang": [
              "ko",
              "en",
              "zh-cn",
              "zh-tw",
              "vi",
              "tl",
              "th",
              "ja",
              "ne",
              "id",
              "ms"
            ],
            "language_switcher_links": {
              "en": [
                "https://www.wirebarley.com/en/gift",
                "https://help.wirebarley.com/en/support/home",
                "https://www.wirebarley.com/en/au/announce",
                "https://www.wirebarley.com/en/au/event",
                "https://www.wirebarley.com/en/about"
              ]
            },
            "english_url_checks": [
              {
                "url": "https://www.wirebarley.com/en",
                "status": 200,
                "ok": false
              },
              {
                "url": "https://www.wirebarley.com/en/",
                "status": 200,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.795,
            "hangul_char_ratio": 0,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "입력란이 있는 가입 양식을 확인하지 못함 (안내 페이지로 보임) — 본인인증 요구 여부를 판정하지 않음",
            "signup_url": "https://www.wirebarley.com/en",
            "final_url": "https://www.wirebarley.com/en",
            "http_status": 200,
            "page_kind": "signup",
            "form_input_count": 0,
            "attempts": [
              {
                "url": "https://www.wirebarley.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "실제 가입 양식이 뜨는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": false,
            "android_listed": null,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1250275816",
              "listed": false,
              "endpoint": "https://itunes.apple.com/lookup?id=1250275816&country=kr",
              "http_status": 200,
              "result_count": 0,
              "error": null
            },
            "android": null,
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.wirebarley.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://help.wirebarley.com/ko/support/home",
                "status": 200,
                "chars": 625
              },
              {
                "url": "https://www.wirebarley.com",
                "status": 200,
                "chars": 8000
              },
              {
                "url": "https://help.wirebarley.com/en/support/home",
                "status": 200,
                "chars": 1038
              },
              {
                "url": "https://www.wirebarley.com/en/customer/terms",
                "status": 200,
                "chars": 2677
              }
            ],
            "content_sha256": "6d707469e39e9fd368c3c2f03e12ac7316251bc6fadaef3910b8ba2c2aa53c87",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.746,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "woori-bank",
      "name": {
        "en": "Woori Bank",
        "ko": "우리은행"
      },
      "url": "https://www.wooribank.com",
      "category": "finance",
      "importance": 2,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "1470181651",
        "android_package": "com.wooribank.smart.npib",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": null,
                "final_url": null,
                "redirected": false,
                "elapsed_ms": 12563,
                "body_sha256": null,
                "content_type": null,
                "not_measured": "robots: robots-unavailable(ECONNRESET)"
              }
            ],
            "note": "robots: robots-unavailable(ECONNRESET)"
          }
        },
        "i18n_ui": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:i18n_ui",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: robots-unavailable(ECONNRESET)",
            "http_status": null,
            "note": "정상 응답을 받지 못해 언어 제공 여부를 판정하지 않았다 (차단·오류 페이지는 근거로 쓰지 않는다)."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 페이지를 찾지 못함",
            "attempts": [
              {
                "url": "https://www.wooribank.com/join",
                "status": null,
                "used": false,
                "reason": "robots: robots-unavailable(ECONNRESET)"
              },
              {
                "url": "https://www.wooribank.com (이하 후보)",
                "status": null,
                "used": false,
                "reason": "첫 후보가 차단되어 나머지 후보 탐색을 중단함 (불필요한 요청 방지)"
              }
            ],
            "hint": "data/seeds/services.seed.json 의 hints.signup_url 을 채우면 측정 가능해진다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "1470181651",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=1470181651&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.wooribank.smart.npib",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.wooribank.smart.npib&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": null,
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:payment_gate",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "정상 응답을 받은 페이지가 없어 스캔하지 못함",
            "scanned": [
              {
                "url": "https://www.wooribank.com",
                "status": null,
                "scanned": false,
                "reason": "robots: robots-unavailable(ECONNRESET)"
              }
            ],
            "note": "차단·오류 페이지는 근거로 쓰지 않는다. \"PG 없음\"이 아니라 \"측정 못 함\"이다."
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "고객지원 페이지를 찾지 못함",
            "hint": "hints.support_url 을 채우면 측정 가능해진다"
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "yanolja",
      "name": {
        "en": "Yanolja",
        "ko": "야놀자"
      },
      "url": "https://www.yanolja.com",
      "category": "accommodation",
      "importance": 1,
      "hints": {
        "signup_url": "https://accounts.yanolja.com/v3/login",
        "checkout_url": null,
        "support_url": "https://ad.yanolja.com/intro",
        "english_url": null,
        "ios_app_id": "436731843",
        "android_package": "com.yanolja.repo",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://nol.yanolja.com/",
                "redirected": true,
                "elapsed_ms": 4180,
                "body_sha256": "00b7c5ddac65bdffc1dba4b82982310030eebf6f04862c67c0e2c0f092c14225",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.yanolja.com/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.yanolja.com/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.031,
            "hangul_char_ratio": 0.532,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T03:53:01.010Z",
          "last_changed_at": "2026-08-15T03:53:01.010Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /",
            "signup_url": "https://accounts.yanolja.com/v3/login",
            "attempts": [
              {
                "url": "https://accounts.yanolja.com/v3/login",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": false,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "436731843",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=436731843&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.yanolja.repo",
              "listed": false,
              "endpoint": "https://play.google.com/store/apps/details?id=com.yanolja.repo&hl=en",
              "http_status": 404,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.yanolja.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://ad.yanolja.com/intro",
                "status": 200,
                "chars": 786
              },
              {
                "url": "https://www.yanolja.com",
                "status": 200,
                "chars": 3837
              },
              {
                "url": "https://ad.yanolja.com/",
                "status": 200,
                "chars": 786
              }
            ],
            "content_sha256": "dba1d57e1b88813794c995e9825bd1e9f6442c8962fe3b01198589afdb600dcb",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.055,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "yes24",
      "name": {
        "en": "YES24",
        "ko": "예스24"
      },
      "url": "http://www.yes24.com",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "360051536",
        "android_package": "com.yes24.commerce",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.yes24.com/Main/default.aspx",
                "redirected": true,
                "elapsed_ms": 5659,
                "body_sha256": "0b4c7338b8564d6495b812c843675e27f86659b6cd8808ac5653997ae2df9ecf",
                "content_type": "text/html; charset=ks_c_5601-1987",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {
              "en": [
                "https://global.yes24.com/",
                "http://ticket.yes24.com/English?Gcode=009_205"
              ]
            },
            "english_url_checks": [
              {
                "url": "http://www.yes24.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.088,
            "hangul_char_ratio": 0.002,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://image.yes24.com/sysimage/contents/Error/error_404.html",
            "final_url": "https://image.yes24.com/sysimage/contents/Error/error_404.html",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "http://www.yes24.com/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "360051536",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=360051536&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.yes24.commerce",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.yes24.commerce&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "paypal"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "http://www.yes24.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "paypal",
                "name": "PayPal",
                "matched": "PayPal",
                "via": "text"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "http://www.yes24.com",
                "status": 200,
                "chars": 8000
              }
            ],
            "content_sha256": "677398715ee26b53c11f56f519679a051456c324365b9c877005466a5be296fd",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.09,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "yes24-ticket",
      "name": {
        "en": "YES24 Ticket",
        "ko": "예스24 티켓"
      },
      "url": "http://ticket.yes24.com",
      "category": "ticketing",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.yes24.com/Member/Join/Accept.aspx",
        "checkout_url": null,
        "support_url": "https://ticket.yes24.com/UserGuide/FAQ",
        "english_url": null,
        "ios_app_id": null,
        "android_package": "com.yes24.ticket",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:overseas_access",
          "confidence": "unknown",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://cdn-botmanager.stclab.com/yes24/deny/index.html?serverUrl=https%3A%2F%2Fbotmanager.stclab.com%2Fapi%2Fv1%2Fmacro&tenantId=TN250314-8E8F6C3B&domainName=ticket.yes24.com&detectionType=72&sessionId=msu3scld-12wbvgrhyzpbmwi12ahe&agentTag=BM-DotNet-agent-1.2.1&loginId=&redirectUrl=http%3A%2F%2Fticket.yes24.com%2FNew%2FMain.aspx",
                "redirected": true,
                "elapsed_ms": 3085,
                "body_sha256": "6db151be2b56a0738fe0217b92b0d994529ce51ca271030d0c0cb102dd93a39c",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": [
                  "비정상적인 접근"
                ]
              }
            ],
            "note": "요청이 거부됐으나 사유가 지역 차단인지 봇 차단(UA/데이터센터 IP)인지 구분할 수 없다. 해외 차단으로 단정하지 않는다 — 실제 브라우저 접속 결과 제보로 확정할 항목이다."
          }
        },
        "i18n_ui": {
          "value": [
            "en",
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": null,
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "http://ticket.yes24.com/en",
                "status": 200,
                "ok": true
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.494,
            "hangul_char_ratio": 0.305,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T03:53:01.010Z",
          "last_changed_at": "2026-08-15T03:53:01.010Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "robots: Disallow: /Member/",
            "signup_url": "https://www.yes24.com/Member/Join/Accept.aspx",
            "attempts": [
              {
                "url": "https://www.yes24.com/Member/Join/Accept.aspx",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ]
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": null,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": null,
            "android": {
              "package": "com.yes24.ticket",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.yes24.ticket&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "http://ticket.yes24.com",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://ticket.yes24.com/UserGuide/FAQ",
                "status": 200,
                "chars": 2000
              },
              {
                "url": "http://ticket.yes24.com",
                "status": 200,
                "chars": 154
              }
            ],
            "content_sha256": "81ad0a782ed3c4c50aef455ff91a90a8d1351b29e6e5fba39905104a5be05525",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.14,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "yogiyo",
      "name": {
        "en": "Yogiyo",
        "ko": "요기요"
      },
      "url": "https://www.yogiyo.co.kr",
      "category": "delivery",
      "importance": 1,
      "hints": {
        "signup_url": "https://www.yogiyo.co.kr/mobile/#/login/",
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "543831532",
        "android_package": "com.fineapp.yogiyo",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://www.yogiyo.co.kr/mobile/",
                "redirected": true,
                "elapsed_ms": 3254,
                "body_sha256": "8ff8c26f280cc75e669bcbe057629c23f8e487ad9b3b3cba01d5d5118ad7f36b",
                "content_type": "text/html",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://www.yogiyo.co.kr/en",
                "status": 404,
                "ok": false
              },
              {
                "url": "https://www.yogiyo.co.kr/en/",
                "status": 404,
                "ok": false
              }
            ],
            "accept_language_responsive": false,
            "latin_char_ratio": 0.121,
            "hangul_char_ratio": 0.564,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "not_required",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T04:28:31.541Z",
          "last_changed_at": "2026-08-15T04:28:31.541Z",
          "method": "auto:signup_phone_auth",
          "confidence": "auto",
          "evidence": {
            "signup_url": "https://www.yogiyo.co.kr/mobile/#/login/",
            "final_url": "https://www.yogiyo.co.kr/mobile/#/login/",
            "http_status": 200,
            "page_kind": "combined",
            "signup_markers": [
              "가입하기"
            ],
            "form_input_count": 6,
            "matched_vendors": [],
            "strong_url_matches": 0,
            "alternative_signup_markers": {
              "text": [],
              "url": []
            },
            "attempts": [
              {
                "url": "https://www.yogiyo.co.kr/mobile/#/login/",
                "status": null,
                "used": true,
                "reason": "hints.signup_url"
              }
            ],
            "detection_note": "DOM에서 본인인증 위젯 시그니처를 탐지한 결과다. 가입을 시도하지 않으므로 required/optional 구분은 \"대안 가입 경로가 함께 보이는가\"에 근거한 휴리스틱이며, 반증 제보로 정정 가능하다."
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "543831532",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=543831532&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.fineapp.yogiyo",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.fineapp.yogiyo&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "naverpay"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://www.yogiyo.co.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "naverpay",
                "name": "네이버페이",
                "matched": "pay.naver.com",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://www.yogiyo.co.kr",
                "status": 200,
                "chars": 770
              },
              {
                "url": "https://owner.yogiyo.co.kr/owner/join/request/",
                "status": 200,
                "chars": 11
              }
            ],
            "content_sha256": "e0ab3f90f429d9f3b185476dba3a7588d04ce7f547874eff49423f20ac608e36",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.171,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    },
    {
      "id": "zigzag",
      "name": {
        "en": "Zigzag",
        "ko": "지그재그"
      },
      "url": "https://zigzag.kr",
      "category": "shopping",
      "importance": 3,
      "hints": {
        "signup_url": null,
        "checkout_url": null,
        "support_url": null,
        "english_url": null,
        "ios_app_id": "976131101",
        "android_package": "com.croquis.zigzag",
        "no_app": null
      },
      "signals": {
        "overseas_access": {
          "value": "ok",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:48:11.388Z",
          "last_changed_at": null,
          "method": "auto:overseas_access",
          "confidence": "auto",
          "evidence": {
            "vantage_points": [
              {
                "id": "github-actions",
                "country": "us",
                "http_status": 200,
                "final_url": "https://zigzag.kr/",
                "redirected": false,
                "elapsed_ms": 2848,
                "body_sha256": "ea6d5b1b5481692a8b9131ea154695c71bbaba52ef7122c535e65a00fea78e5a",
                "content_type": "text/html; charset=utf-8",
                "geo_block_markers": [],
                "ambiguous_deny_markers": []
              }
            ],
            "note": null
          }
        },
        "i18n_ui": {
          "value": [
            "ko"
          ],
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:i18n_ui",
          "confidence": "auto",
          "evidence": {
            "declared_html_lang": "ko",
            "hreflang": [],
            "language_switcher_links": {},
            "english_url_checks": [
              {
                "url": "https://zigzag.kr/en",
                "status": null,
                "ok": false
              },
              {
                "url": "https://zigzag.kr/en/",
                "status": null,
                "ok": false
              }
            ],
            "accept_language_responsive": true,
            "latin_char_ratio": 0.119,
            "hangul_char_ratio": 0.586,
            "note": "ko는 한국 서비스 기준선으로 항상 포함된다. ko 외 언어는 선언(hreflang/lang)·전환 링크·전용 경로 중 하나 이상에서 탐지된 것이며, 번역 품질이나 커버리지는 측정하지 않는다."
          }
        },
        "signup_phone_auth": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T05:38:47.932Z",
          "last_changed_at": "2026-08-15T05:38:47.932Z",
          "method": "auto:signup_phone_auth",
          "confidence": "unknown",
          "evidence": {
            "not_measured": "가입 절차가 아니라 로그인 화면으로 보임 — 가입 단계의 본인인증 여부는 판정하지 않음",
            "signup_url": "https://zigzag.kr/join",
            "final_url": "https://zigzag.kr/join",
            "http_status": 200,
            "page_kind": "unknown",
            "login_markers": [],
            "attempts": [
              {
                "url": "https://zigzag.kr/join",
                "status": 200,
                "used": true
              }
            ],
            "hint": "가입 화면으로 직접 들어가는 주소를 hints.signup_url 에 넣으면 측정된다"
          }
        },
        "app_availability": {
          "value": {
            "ios_listed": true,
            "android_listed": true,
            "countries": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T08:07:45.107Z",
          "last_changed_at": "2026-08-15T08:07:45.107Z",
          "method": "auto:app_availability",
          "confidence": "auto",
          "evidence": {
            "ios": {
              "app_id": "976131101",
              "listed": true,
              "endpoint": "https://itunes.apple.com/lookup?id=976131101&country=kr",
              "http_status": 200,
              "result_count": 1,
              "error": null
            },
            "android": {
              "package": "com.croquis.zigzag",
              "listed": true,
              "endpoint": "https://play.google.com/store/apps/details?id=com.croquis.zigzag&hl=en",
              "http_status": 200,
              "error": null
            },
            "method_limitation": "국가별 출시 여부는 측정하지 않는다. iTunes lookup(country=), apps.apple.com 스토어프론트 페이지, play.google.com(gl=) 세 경로 모두 앱의 존재 여부만 반영하고 배포 국가를 구분하지 않는 것을 2026-08-15에 확인했다 (한국 전용으로 보이는 앱도 모든 국가에서 동일 응답). 추측으로 채우지 않고 countries=null 로 남긴다."
          }
        },
        "payment_gate": {
          "value": {
            "gateways": [
              "nicepay"
            ],
            "three_ds": null
          },
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:payment_gate",
          "confidence": "auto",
          "evidence": {
            "scanned": [
              {
                "url": "https://zigzag.kr",
                "status": 200,
                "scanned": true
              }
            ],
            "detected": [
              {
                "id": "nicepay",
                "name": "나이스페이먼츠",
                "matched": "nicepay.co.kr",
                "via": "url"
              }
            ],
            "three_ds_matches": {
              "url": [],
              "text": []
            },
            "scope_note": "공개 페이지만 스캔한다. 결제 페이지가 로그인 뒤에 있으면 gateways가 비는 것이 정상이며, 이는 \"PG가 없다\"는 뜻이 아니라 \"공개 범위에서 탐지되지 않았다\"는 뜻이다.",
            "payment_attempt": "never"
          }
        },
        "support_en": {
          "value": "unknown",
          "measured_at": "2026-08-15T08:07:45.107Z",
          "first_seen_at": "2026-08-15T02:51:04.464Z",
          "last_changed_at": null,
          "method": "auto:support_en",
          "confidence": "unknown",
          "evidence": {
            "pages": [
              {
                "url": "https://zigzag.kr",
                "status": 200,
                "chars": 505
              }
            ],
            "content_sha256": "523c88f6800b0f4d085e5bda866cf16eada1ac2fb5eb271d2ac1d84add0c2dfc",
            "method_detail": "heuristic-only (ANTHROPIC_API_KEY 미설정)",
            "heuristic": {
              "value": "unknown",
              "strong_markers": [],
              "latin_ratio": 0.139,
              "reason": "명시적 문구 없음 — 휴리스틱만으로는 판정하지 않는다"
            }
          }
        },
        "foreign_card": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        },
        "foreign_phone_sms": {
          "value": "unknown",
          "measured_at": null,
          "first_seen_at": null,
          "last_changed_at": null,
          "method": "none",
          "confidence": "unknown",
          "evidence": null
        }
      },
      "notes": {
        "en": null,
        "ko": null
      }
    }
  ]
}