{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://open-verify-data.github.io/toto-report-data-methodology/schema/site.schema.json",
  "title": "Site",
  "description": "도메인 단위 집계 레코드. 값은 공개 제보의 표본이며 전수 조사가 아니고, 특정 업체 위법의 확정 근거가 아니다. report_count/source_count는 '관측 신호'로 해석한다(docs/interpretation.md).",
  "type": "object",
  "additionalProperties": false,
  "required": ["domain", "report_count", "source_count"],
  "properties": {
    "domain": {
      "type": "string",
      "description": "정규화된 도메인 키(1차 식별자)",
      "examples": ["example-site.com"]
    },
    "report_count": {
      "type": "integer",
      "minimum": 0,
      "description": "재게시·미러링을 도메인 단위로 중복제거한 뒤의 구별 관측 수(표본)"
    },
    "source_count": {
      "type": "integer",
      "minimum": 0,
      "description": "서로 독립된 출처(커뮤니티) 수. 높을수록 도배·우연일 가능성이 낮아 신호 신뢰가 올라간다."
    },
    "first_seen": {
      "type": "string",
      "format": "date",
      "description": "표본에서 이 도메인이 처음 관측된 시점"
    },
    "last_seen": {
      "type": "string",
      "format": "date",
      "description": "가장 최근 관측 시점. 최신성은 현재 주의 필요도를 가늠하는 단서다."
    },
    "brand": {
      "type": ["string", "null"],
      "description": "같은 운영으로 추정되는 브랜드 그룹 키. 근거가 약하면 null(묶지 않음)."
    }
  }
}
