{
  "schemaVersion": 1,
  "effectiveFrom": "river-segment-v1-a8e1715d43fb0a61",
  "joinKeys": ["riverID", "segmentID", "waterBodyID"],
  "openLayer": {
    "contains": ["source provenance", "source attribution", "waterway names and kinds", "public geometry and coordinates", "stable IDs", "deterministic segmentation", "source classification evidence", "package hashes"],
    "mayBeRedistributedUnder": "ODbL-1.0"
  },
  "proprietaryBusinessLayer": {
    "contains": ["user and contribution records", "internal review state", "access-control state", "commercial ranking algorithms", "model weights", "private operational logs", "Amap development snapshots"],
    "mustNotBeExportedIntoOpenLayer": true,
    "joinRule": "Reference open records only by stable riverID, segmentID or waterBodyID; do not copy source geometry into proprietary records"
  },
  "forbiddenKeys": ["userId", "phone", "reviewer", "reviewState", "internalNote", "moderationState", "rankingWeight", "modelWeight", "structureScore", "recommendationEligible", "recommendationSource", "publicationStatus", "managementEvidence", "managementNote", "fieldReadiness", "communityVerificationRequested", "candidateSpots", "accessStatus", "status", "structure", "arrivals", "priority", "window", "amapPoiId", "amapSnapshot", "gaodeSnapshot", "accessToken", "secret"],
  "riverNetworkFieldWhitelist": {
    "topLevel": ["schemaVersion", "generatedAtUTC", "attribution", "sourceLicenseURL", "rivers", "summary"],
    "summary": ["riverCount", "namedRiverCount", "canalCount", "streamCount", "coordinateCount", "pathCount", "segmentCount"],
    "river": ["id", "name", "kind", "kindTitle", "centerlineLengthKM", "regions", "paths", "segments"],
    "path": ["id", "name", "role", "coordinates"],
    "segment": ["id", "riverID", "region", "lengthKM", "geometry", "anchor"],
    "coordinate": ["latitude", "longitude"]
  }
}
