{"ok":true,"schema":"trendest_tv_app_certification_matrix_v1","generatedAt":"2026-06-23T17:00:56.248Z","tvBackendIndependent":true,"studioDependency":false,"summary":{"platformCount":12,"ready":0,"warning":0,"blocked":12,"p0":6,"p1":3,"p2":2,"p3":1},"platforms":[{"id":"android-mobile","platform":"Android Mobile","family":"mobile","priority":"P0","store":"Google Play Console","target":"Android phone/tablet","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Google Play Console organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"native-mobile","label":"Mobile wrapper UX","status":"blocked","detail":"Portrait/landscape behavior, downloads policy decision, background playback policy, notifications policy, and offline/error UX required."}],"overall":"blocked"},{"id":"ios-mobile","platform":"iOS Mobile","family":"mobile","priority":"P0","store":"Apple App Store","target":"iPhone/iPad","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Apple App Store organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"native-mobile","label":"Mobile wrapper UX","status":"blocked","detail":"Portrait/landscape behavior, downloads policy decision, background playback policy, notifications policy, and offline/error UX required."}],"overall":"blocked"},{"id":"android-tv","platform":"Android TV / Google TV","family":"tv","priority":"P0","store":"Google Play Android TV","target":"Android TV and Google TV devices","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Google Play Android TV organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"fire-tv","platform":"Fire TV","family":"tv","priority":"P0","store":"Amazon Appstore","target":"Fire TV devices","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Amazon Appstore organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"tvos","platform":"tvOS / Apple TV","family":"tv","priority":"P0","store":"Apple App Store tvOS","target":"Apple TV","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Apple App Store tvOS organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"web-pwa","platform":"Web / PWA","family":"web","priority":"P0","store":"Direct web","target":"Browser and installable PWA","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Direct web organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"pwa","label":"PWA installability","status":"warning","detail":"Manifest, service worker policy, icons, responsive layout, and browser playback matrix required."}],"overall":"blocked"},{"id":"roku","platform":"Roku","family":"tv","priority":"P1","store":"Roku Developer","target":"Roku Channel Store","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Roku Developer organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"samsung-tizen","platform":"Samsung Tizen","family":"smart-tv","priority":"P1","store":"Samsung TV Seller Office","target":"Samsung Smart TVs","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Samsung TV Seller Office organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"lg-webos","platform":"LG webOS","family":"smart-tv","priority":"P1","store":"LG webOS","target":"LG Smart TVs","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"LG webOS organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"vizio","platform":"VIZIO","family":"smart-tv","priority":"P2","store":"VIZIO partner/developer","target":"VIZIO SmartCast / VIZIO apps","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"VIZIO partner/developer organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"vidaa","platform":"VIDAA / Hisense","family":"smart-tv","priority":"P2","store":"VIDAA partner","target":"Hisense / VIDAA TVs","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"VIDAA partner organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."},{"id":"remote","label":"TV wrapper remote-control UX","status":"blocked","detail":"Primary web app TV wrapper must provide D-pad navigation, focus state, back behavior, player controls, long-title handling, and no pointer-only UI."},{"id":"deep-linking","label":"Deep linking / discovery","status":"warning","detail":"Primary web app wrapper should expose platform search, content detail links, recommendations, and continue watching integrations where supported."}],"overall":"blocked"},{"id":"operator","platform":"Operator / Telco Apps","family":"partner","priority":"P3","store":"Partner certification","target":"Telco, ISP, hospitality, OEM distribution","checks":[{"id":"account","label":"Wrapper/store account","status":"blocked","detail":"Partner certification organization account must be verified under Trendest ownership."},{"id":"metadata","label":"Store metadata and assets","status":"blocked","detail":"Primary web app version metadata, descriptions, categories, screenshots, icons, rating declarations, privacy disclosures, and support URLs required."},{"id":"privacy","label":"Privacy / legal compliance","status":"blocked","detail":"Privacy policy, terms, data collection disclosure, user account deletion path, and regional compliance required."},{"id":"playback","label":"Player shell certification","status":"blocked","detail":"Primary web app wrapper must correctly consume TV Backend playback contracts: startup time, adaptive bitrate, subtitles, error recovery, and DRM/readiness contract must pass."},{"id":"auth","label":"Login and device activation","status":"warning","detail":"Mobile login and TV code activation contracts exist conceptually; persistent production token flow must be wired."},{"id":"telemetry","label":"Crash / playback telemetry","status":"warning","detail":"Telemetry endpoint exists; crash reporting and platform analytics SDK wiring required."},{"id":"accessibility","label":"Accessibility","status":"blocked","detail":"Focus order, screen reader labels where applicable, captions/subtitles, contrast, and remote/keyboard navigation must pass."},{"id":"qa","label":"Pre-certification QA","status":"blocked","detail":"Device matrix testing, network failure tests, playback soak, app restart/resume, memory, and crash-free target required."}],"overall":"blocked"}]}