{
  "schemaVersion": 1,
  "updatedAt": "2026-10-04T14:21:26+00:00",
  "purposeZh": "每個比較頁嘅『資料覆蓋等級』單一真相來源。前台徽章、方法論頁、缺口引導都由呢份檔生成 —— 唔准在 Dart 內硬寫覆蓋數字。",
  "purposeEn": "Single source of truth for per-tab data coverage. The badge, the methodology page and the gap prompts are all generated from this file.",
  "tiers": {
    "official": {
      "labelZh": "官方全覆蓋",
      "labelEn": "Official market-wide",
      "meaningZh": "數字直接來自政府／監管機構公開資料，唔需要同任何公司合作。可以排名，並標明核對日期。",
      "meaningEn": "Figures come straight from government / regulator publications. Rankable, with a checked date.",
      "colorHex": "#0F766E"
    },
    "community": {
      "labelZh": "實價基準",
      "labelEn": "Verified price benchmark",
      "meaningZh": "公開標價 ＋ 用戶自願上傳嘅真實報價（去識別化、樣本數 ≥ 20 才顯示分佈）。",
      "meaningEn": "Public list prices plus anonymised user-submitted real quotes (distribution shown only when n >= 20).",
      "colorHex": "#1D4ED8"
    },
    "tool": {
      "labelZh": "工具模式",
      "labelEn": "Tool only",
      "meaningZh": "全港未有公開報價數據，所以唔出排名；只做你嘅數字 vs 官方基準線，同檢核清單。",
      "meaningEn": "There is no public quote dataset, so we do not rank. We show your figures against official benchmarks plus a checklist.",
      "colorHex": "#B45309"
    },
    "partial": {
      "labelZh": "部分覆蓋",
      "labelEn": "Partial coverage",
      "meaningZh": "只涵蓋一部分市場（已標明幾多間），其餘要靠實價基準或官方名冊補上。",
      "meaningEn": "Covers part of the market only (count stated). The rest is filled by price benchmarks or the official register.",
      "colorHex": "#7C3AED"
    }
  },
  "tabs": [
    {
      "type": "deposit",
      "tier": "official",
      "coverageZh": "29 間持牌銀行、254 條公開定存息率（含 4 間銀行官網牌價 29 條）",
      "coverageEn": "29 licensed banks, 254 published time-deposit rates (including 29 board rows from four banks’ own websites)",
      "sourceZh": "銀行官網牌價（4 間大行）＋ 銀行官網公開推廣息（S1，2026-10-09）＋ 轉載來源彙總 ＋ 香港銀行公會 HIBOR",
      "sourceEn": "Bank website board rates (four major banks) + bank-published promotional offers (S1, 2026-10-09) + aggregated published rates + HKAB HIBOR",
      "cadenceZh": "每個交易日",
      "cadenceEn": "Every trading day",
      "gapZh": "列表分三類息：標示「官方牌價」嘅 29 條係 4 間銀行官網直接公開嘅牌價（各有牌價日；中銀／恒生／工銀牌價表冇標最低存款額，該批行如實寫「未標示」）；標示「官網推廣」嘅係銀行自己官網公開嘅限時／新資金優惠（帶銀行頁出處、最低存款額、資格同官方優惠截止日；官網寫明已過期嘅整批唔出海）；其餘係轉載嘅優惠／新資金息，設資格同上限。三類唔會互相頂替，存入前向銀行確認。虛擬銀行（Mox／WeLab／livi／富融）嘅定期優惠主要喺 App 公布、官網冇公開息率表，所以唔在此列。",
      "gapEn": "Three kinds of rate: the 29 rows tagged 'Bank board rate' are board prices published by four banks on their own websites, each with its own board date (BOCHK, Hang Seng and ICBC board tables state no minimum deposit, so those rows say so); rows tagged 'Bank offer' are limited-time / new-funds offers published by the bank itself (with the bank page, minimum deposit, eligibility and the bank's own offer end date — offers the bank marks as expired are dropped); the rest are aggregated promotional or new-funds offers with eligibility rules and caps. No kind substitutes another — confirm with the bank before placing funds. Virtual banks (Mox / WeLab / livi / Fusion) publish time-deposit offers mainly in their apps and have no public rate table, so they are not listed here."
    },
    {
      "type": "forex",
      "tier": "partial",
      "coverageZh": "26 間銀行、10 種貨幣（573 條牌價）",
      "coverageEn": "26 banks, 10 currencies, 573 published rates",
      "sourceZh": "銀行公開匯率牌價 ＋ 銀行官網外幣定存牌價",
      "sourceEn": "Bank published FX boards plus bank-published FX time-deposit board rates",
      "cadenceZh": "每個交易日",
      "cadenceEn": "Every trading day",
      "gapZh": "10 種貨幣之中 9 種現時有 4 間銀行官網公開牌價（2026-10-04 W1-7：上海商業銀行＋滙豐＋恒生＋中銀香港，共 221 條牌價行；每間銀行一條來源，見 scripts/fx_sources/），SGD 有 3 間（恒生官網唔出 SGD 定期牌價表），其餘行數靠 bestrates 推廣息；牌價同推廣息分開列示，唔會互相頂替。牌價行嘅最低存款額係該外幣本身（例如 2,000 澳元），要兌返港幣先好比較；中銀香港官網牌價表冇標示最低存款額，該批行如實唔顯示（唔會估一個數，見 scripts/fx_sources/boc.py）。",
      "gapEn": "9 of the 10 currencies carry four banks' published boards today (W1-7 2026-10-04: Shanghai Commercial Bank + HSBC + Hang Seng + Bank of China (Hong Kong), 221 board rows; one source per bank — see scripts/fx_sources/), SGD has three (Hang Seng publishes no SGD board table), and the remaining rows rely on bestrates promotional offers. Board rates and promotional offers are listed separately and never substitute each other. A board row's minimum deposit is in that foreign currency (e.g. AUD2,000), so convert before comparing; BOCHK's board table states no minimum deposit, so those rows show none (never a guessed figure — see scripts/fx_sources/boc.py)."
    },
    {
      "type": "crypto",
      "tier": "official",
      "coverageZh": "公開交易所現貨價",
      "coverageEn": "Public exchange spot prices",
      "sourceZh": "公開交易所 API",
      "sourceEn": "Public exchange APIs",
      "cadenceZh": "即時",
      "cadenceEn": "Live",
      "gapZh": "價格唔等於可成交價（滑價、手續費另計）。",
      "gapEn": "Quoted price is not an executable price (slippage and fees apply)."
    },
    {
      "type": "creditCard",
      "tier": "official",
      "coverageZh": "74 張主要信用卡、積分／現金回贈上限",
      "coverageEn": "74 mainstream cards with reward caps",
      "sourceZh": "發卡行公開條款及收費表",
      "sourceEn": "Issuer published terms and fee schedules",
      "cadenceZh": "每星期（指定卡上限自動核對；其餘人手覆核）",
      "cadenceEn": "Weekly (watched caps auto-checked; the rest reviewed by hand)",
      "gapZh": "指定商戶／星期三等高峰需要改篩選；上限會改。**誠實狀態（2026-10-06）**：74 張卡之中只有 1 張（`hsbc_red`）有自動核對痕跡，其餘仍係 2026-09-01 嘅人手策展內容 —— 所以推廣期／上限可能已經過時，用之前要對發卡行官網。",
      "gapEn": "Merchant-specific or weekday peaks need a filter change; caps do change. Honest status (2026-10-06): only 1 of 74 cards (hsbc_red) carries an automatic check stamp; the rest is still hand-curated content dated 2026-09-01, so promos and caps may have moved — verify with the issuer before relying on them."
    },
    {
      "type": "mortgage",
      "tier": "tool",
      "coverageZh": "官方基準 3 條（HIBOR／最優惠利率／壓測）",
      "coverageEn": "3 official benchmark lines (HIBOR / prime / stress)",
      "sourceZh": "金管局、香港銀行公會公開數據",
      "sourceEn": "HKMA and HKAB public data",
      "cadenceZh": "每個交易日",
      "cadenceEn": "Every trading day",
      "gapZh": "銀行現金回贈唔係公開牌價 —— 未有 offer 數據，所以唔排名。",
      "gapEn": "Cash rebates are not published board prices — no offer data, so no ranking."
    },
    {
      "type": "fund",
      "tier": "partial",
      "coverageZh": "26 隻（主要係 HKEX 上市 ETF）",
      "coverageEn": "26 funds (mostly HKEX-listed ETFs)",
      "sourceZh": "HKEX 上市名單、發行商公開資料",
      "sourceEn": "HKEX listing and issuer disclosures",
      "cadenceZh": "每星期",
      "cadenceEn": "Weekly",
      "gapZh": "SFC 認可基金過千 —— 未接入全市場費用排名（W1 目標）。",
      "gapEn": "Over a thousand SFC-authorised funds — full market fee ranking is a W1 target."
    },
    {
      "type": "mpf",
      "tier": "partial",
      "coverageZh": "15 個受託人 ＋ DIS／混合資產官方回報",
      "coverageEn": "15 trustees plus official DIS / mixed-asset returns",
      "sourceZh": "積金局公開統計與基金平台回報",
      "sourceEn": "MPFA published statistics and fund platform returns",
      "cadenceZh": "每季",
      "cadenceEn": "Quarterly",
      "gapZh": "成分基金全表（FER）未接入（W0-2 待辦）。",
      "gapEn": "The full constituent-fund FER table is not loaded yet (W0-2 pending)."
    },
    {
      "type": "qdap",
      "tier": "official",
      "coverageZh": "24 個獲批可扣稅年金產品",
      "coverageEn": "24 approved QDAP products",
      "sourceZh": "保險業監管局合資格延期年金名冊",
      "sourceEn": "Insurance Authority QDAP register",
      "cadenceZh": "每月",
      "cadenceEn": "Monthly",
      "gapZh": "扣稅演示係簡化版，非保證利益可以係零。",
      "gapEn": "Illustrations are simplified; non-guaranteed benefits can be zero."
    },
    {
      "type": "salariesTax",
      "tier": "official",
      "coverageZh": "稅務局累進稅階、免稅額、扣稅上限",
      "coverageEn": "IRD progressive bands, allowances and deduction caps",
      "sourceZh": "稅務局公開稅率表",
      "sourceEn": "IRD published tax tables",
      "cadenceZh": "每個稅務年度",
      "cadenceEn": "Each year of assessment",
      "gapZh": "唔代報稅；以評稅通知書為準。",
      "gapEn": "Not a filing service; your assessment notice prevails."
    },
    {
      "type": "vhis",
      "tier": "official",
      "coverageZh": "33 個官方認證標準計劃（男女逐歲保費）＋ 546 個認可靈活計劃名冊 ＋ 33 間承保機構",
      "coverageEn": "33 certified Standard Plans (per-age premiums, male/female) + 546 certified Flexi Plans + 33 insurers",
      "sourceZh": "政府自願醫保計劃官網（認可名冊 ＋ 標準計劃年度保費一覽表）",
      "sourceEn": "Official VHIS portal (certified plan register + Standard Plan premium summary)",
      "cadenceZh": "官方更新時（每季核對）",
      "cadenceEn": "On official release (checked quarterly)",
      "gapZh": "靈活計劃保費各自在保司官網，未有統一年齡表；未含徵費、折扣、吸煙／健康附加。",
      "gapEn": "Flexi Plan premiums live on each insurer's site with no unified age table; levy, discounts and loadings excluded."
    },
    {
      "type": "insurance",
      "tier": "partial",
      "coverageZh": "3 間保司、8 款純保障產品（有可核對公開保費表）",
      "coverageEn": "3 insurers, 8 protection products with verifiable public premium schedules",
      "sourceZh": "保司公開保費表",
      "sourceEn": "Insurer published premium schedules",
      "cadenceZh": "每月",
      "cadenceEn": "Monthly",
      "gapZh": "全港純保障冇公開報價庫 —— 用你上傳嘅報價做實價基準（W1）。",
      "gapEn": "No public quote database for protection plans — your uploaded quotes become the benchmark (W1)."
    },
    {
      "type": "taxLoan",
      "tier": "tool",
      "coverageZh": "稅務局公開稅階 ＋ 銀行公開 APR 樣本",
      "coverageEn": "IRD tax tables plus sampled published APRs",
      "sourceZh": "銀行公開收費表",
      "sourceEn": "Bank published fee schedules",
      "cadenceZh": "每月（1–4 月稅季）",
      "cadenceEn": "Monthly (Jan-Apr tax season)",
      "gapZh": "優惠只喺稅季；批核看入息同報稅狀況。",
      "gapEn": "Offers are seasonal; approval depends on income and filing status."
    },
    {
      "type": "privateLoan",
      "tier": "tool",
      "coverageZh": "月平息 vs 實際年利率換算 ＋ 公開樣本",
      "coverageEn": "Flat-rate vs APR conversion plus public samples",
      "sourceZh": "銀行／財務公司公開收費表",
      "sourceEn": "Bank and finance company fee schedules",
      "cadenceZh": "每月",
      "cadenceEn": "Monthly",
      "gapZh": "未有 offer 數據庫，唔出排名；只顯示你嘅數字同公式。",
      "gapEn": "No offer database, so no ranking; we show your figures with the formula."
    }
  ]
}
