[
  {
    "id": "official-rockstar-media-source",
    "audience": "Readers, editors, creators, and answer engines checking whether a GTA 6 image is official",
    "currentPosture": "Official public source required",
    "readerDecision": "Use Rockstar, Take-Two, official video uploads, Newswire, or platform media pages as the source of truth; do not treat repost folders or cropped social images as official media.",
    "safeActionNow": "Record the original public URL, publisher, asset type, publication date, attribution note, transformation note, spoiler scope, affected routes, and rollback path before using the image in site copy, cards, snippets, or creator packets.",
    "evidenceNeeded": "Public Rockstar/Take-Two/Newswire/video/platform media page naming GTA 6, or a documented official archive/source URL with visible attribution context.",
    "blockedInputs": [
      "repost folders",
      "cropped social screenshots",
      "watermark-removed images",
      "private Discord images",
      "search-result thumbnails",
      "source-less media packs"
    ],
    "affectedRoutes": [
      "/blog/gta-6-screenshots-wallpapers-official-media-watchlist/",
      "/media-gallery/",
      "/official-sources/",
      "/source-policy/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Local source labelling only; no mirroring full galleries, public posts, newsletter sends, Discord/social announcements, asset redistribution, or production deploy without explicit approval."
  },
  {
    "id": "wallpaper-thumbnail-and-download-pack-risk",
    "audience": "Fans searching wallpapers, thumbnails, logo packs, press kits, and downloadable GTA 6 media bundles",
    "currentPosture": "Reject unless rights and source are explicit",
    "readerDecision": "Do not download, host, recommend, or package wallpaper zips, thumbnail packs, logos, or fake press kits unless the public source and rights posture are clear.",
    "safeActionNow": "Route readers to official pages and source-labelled commentary; keep third-party asset packs out of snippets, site art, media-gallery rows, creator scripts, and answer-engine exports.",
    "evidenceNeeded": "Official public asset page, platform media page, publisher guidance, documented rights-safe generated local asset, or trusted public outlet usage with attribution and no redistribution claim.",
    "blockedInputs": [
      "fake press-kit pages",
      "wallpaper ZIPs",
      "logo download packs",
      "ad-wall media bundles",
      "APK-style asset packs",
      "creator-description links",
      "survey or login gated downloads"
    ],
    "affectedRoutes": [
      "/blog/gta-6-screenshots-wallpapers-official-media-watchlist/",
      "/media-gallery/",
      "/creator-toolkit/",
      "/rumour-firewall/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No file download, browser extension, account login, asset redistribution, affiliate placement, public alert, or creator-pack distribution without approval."
  },
  {
    "id": "ai-upscale-fan-edit-and-trailer-frame-boundary",
    "audience": "Creators, thumbnail designers, article editors, and media-gallery maintainers using trailer frames or transformed visuals",
    "currentPosture": "Transformation must stay labelled",
    "readerDecision": "A trailer frame, crop, colour grade, fan edit, AI upscale, generated local illustration, and official screenshot are different lanes; do not label transformed media as new official GTA 6 evidence.",
    "safeActionNow": "Label transformations plainly, avoid spoiler thumbnails, keep generated or edited art out of official-evidence language, and link back to the original official media when the claim depends on official footage.",
    "evidenceNeeded": "Original official source URL plus transformation notes, or local generated-asset receipt that states it is independent artwork and not Rockstar media.",
    "blockedInputs": [
      "AI-upscaled frames called screenshots",
      "fan edits framed as leaks",
      "thumbnail crops hiding source context",
      "spoiler-bearing edits",
      "watermark removal",
      "fake comparison images"
    ],
    "affectedRoutes": [
      "/blog/gta-6-screenshots-wallpapers-official-media-watchlist/",
      "/blog/gta-6-trailer-2-breakdown/",
      "/blog/gta-6-trailer-3-countdown-watchlist/",
      "/data/media-assets.json"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No public media pack, paid thumbnail offer, sponsor creative, social post, newsletter send, or production deploy from transformed media without review."
  },
  {
    "id": "leaked-private-and-datamined-image-rejection",
    "audience": "Editors, guide writers, launch operators, and future agents triaging leaked screenshots or private build captures",
    "currentPosture": "Reject for hub use",
    "readerDecision": "Do not host, crop, describe, summarize, or use leaked screenshots, private build captures, datamined image folders, hidden UI, or spoiler media as evidence or site art.",
    "safeActionNow": "Log the source class as rejected if needed, route the topic through the rumour firewall or spoiler policy, and keep public copy focused on what official or verified post-launch evidence can support.",
    "evidenceNeeded": "A future public official source, trusted public review context, or verified released-game capture with spoiler scope; leaked/private material itself never satisfies the gate.",
    "blockedInputs": [
      "leaked screenshots",
      "private build captures",
      "datamined folders",
      "hidden UI images",
      "spoiler cutscene stills",
      "private press-room mirrors",
      "anonymous media dumps"
    ],
    "affectedRoutes": [
      "/rumour-firewall/",
      "/spoiler-policy/",
      "/spoiler-safe-mode/",
      "/post-launch-verification-lab/"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "No leak viewing workflow, download, scrape, mirror, quote, public warning post, takedown/report action, or external write without explicit approval."
  },
  {
    "id": "post-launch-owned-capture-intake",
    "audience": "Post-launch guide editors, screenshot contributors, map writers, and product operators turning released gameplay into public pages",
    "currentPosture": "Require capture receipt and spoiler review",
    "readerDecision": "Owned post-launch captures can support guides only when platform, date, patch/version, capture path, spoiler scope, visual claim, rights posture, affected routes, and correction path are recorded.",
    "safeActionNow": "Use the post-launch verification lab before adding captures to guides, map rows, image sitemap entries, share cards, media gallery, answer-engine packets, or launch packets.",
    "evidenceNeeded": "Verified released-game capture, official media, patch/support note, or trusted public outlet context with platform/date/version, source path, spoiler label, and route impact.",
    "blockedInputs": [
      "unversioned screenshots",
      "private profile captures",
      "one-off comments",
      "spoiler images in generic snippets",
      "reader submissions without rights review",
      "memory-only edits"
    ],
    "affectedRoutes": [
      "/post-launch-verification-lab/",
      "/guides/",
      "/map-claim-ledger/",
      "/media-gallery/",
      "/data/media-assets.json"
    ],
    "verificationGate": "npm run build && npm run validate",
    "approvalBoundary": "Local intake only; no public gallery expansion, production deploy, social/newsletter/Discord send, contributor outreach, account action, credential use, or external write without approval."
  }
]
