{
  "schemaVersion": 2,
  "product": "AeroDue Monitor",
  "reviewedAt": "2026-10-07",
  "scope": "Internal product distribution decision for the first-party AeroDue B2B Monitor. This is not a legal opinion and does not grant third-party redistribution rights.",
  "surfaces": [
    {
      "id": "airport-health",
      "status": "allowed-first-party-display",
      "basis": "Existing AeroDue Airport Health output; rendered only on AeroDue, with source/provenance boundaries and no raw upstream redistribution."
    },
    {
      "id": "disruption-intelligence",
      "status": "allowed-first-party-display",
      "basis": "Existing AeroDue source-backed disruption briefings and alert feed; rendered on AeroDue with canonical evidence links."
    },
    {
      "id": "flight-info-airnav",
      "status": "allowed-first-party-operational-summary",
      "basis": "AeroDue currently has an authorized AirNav On Demand API trial/account. AirNav publicly describes the API as integrable into client and third-party applications. The Monitor exposes only a bounded AeroDue summary of status, route and timing fields; raw provider payloads, white-label resale and provider credentials are not exposed. If authorization expires or the source is unavailable, the Monitor fails closed."
    },
    {
      "id": "flight-telemetry-adsb-lol",
      "status": "blocked-for-b2b-monitor",
      "basis": "The B2B Monitor does not need or expose aircraft telemetry. Existing passenger telemetry remains separate."
    },
    {
      "id": "flight-info-airlabs",
      "status": "blocked-for-b2b-monitor",
      "basis": "No written B2B redistribution/display approval is recorded for AeroDue Monitor."
    },
    {
      "id": "flight-info-aerodatabox",
      "status": "blocked-for-b2b-monitor",
      "basis": "Repository decision records AeroDataBox as a technical candidate only, not commercially approved."
    },
    {
      "id": "white-label-api-resale",
      "status": "not-offered",
      "basis": "AeroDue Monitor is a first-party web product. Raw upstream data, higher-limit redistribution and white-label API resale are outside scope."
    }
  ],
  "productRules": {
    "storesCustomerRosterServerSide": false,
    "rosterStorage": "browser-localStorage",
    "pullsLiveFlightStatusOrEta": true,
    "flightDataRefresh": "explicit-user-refresh",
    "pollsAutomatically": false,
    "maxRosterEntries": 12,
    "derivesDelayOnlyFromProviderTimestamps": true,
    "diversionRule": "compare current source destination with the saved expected arrival ICAO; never infer diversion from a missing flight",
    "legalOrCompensationInference": false,
    "rawProviderPayloadExposed": false
  }
}
