{
  "contract_id": "HRMS_FEISHU_READONLY_SNAPSHOT_SCHEMA_CONTRACT_V1",
  "stage": "HRMS_FEISHU_READONLY_SNAPSHOT_SCHEMA_PREP_PACK_Z2",
  "tables": {
    "feishu_readonly_snapshot_runs": {
      "purpose": "只读 snapshot 运行批次、token metadata、counts-only readiness 和下游 staging trace",
      "sensitive_payload": "不得存储 raw token / secret；token_metadata 只存 expires_at/scope/status 等 metadata",
      "downstream": [
        "feishu_department_snapshots",
        "feishu_user_snapshots",
        "staging plan"
      ]
    },
    "feishu_department_snapshots": {
      "purpose": "飞书部门只读镜像 carrier",
      "sensitive_payload": "公开输出仅使用 department_name_masked / sanitized_payload_public；raw_payload_private 仅 DB 内部",
      "downstream": [
        "departments",
        "department staging"
      ]
    },
    "feishu_user_snapshots": {
      "purpose": "飞书用户只读镜像 carrier",
      "sensitive_payload": "open_id/union_id/user_id/email/mobile/name 原值不得进入 public JSON/页面；DB 内部使用 private_ref/masked 字段",
      "downstream": [
        "employees",
        "permission_subjects",
        "employee_role_assignments",
        "feishu_user_mappings"
      ]
    }
  },
  "data_layers": {
    "snapshot": "只读原始镜像 / metadata / counts / sanitized payload carrier",
    "staging": "映射审核层",
    "master_data": "HRMS 正式主数据层",
    "permission_subject": "权限主体层"
  },
  "public_output_masking_rules": [
    "不公开 token / secret / credential",
    "不公开真实姓名、手机号、邮箱、open_id、union_id、user_id",
    "公开 JSON 只输出 counts、字段名、状态和 masked metadata"
  ]
}
