# CHANORA_CFG_Product_Decision_Register_v0.9.2.2.1 **Document type:** Configuration / Product Decision Register **Version:** 0.9.2 **Status:** Baseline Candidate **Language:** English **Product:** Chanora **Repo path:** `docs/governance/product-decision-register.md` --- ## 1. Purpose This document records key product, architecture, release, legal, and engineering decisions that affect Chanora scope, testing, architecture, app store eligibility, and release readiness. A decision marked **Proposed / Owner Confirmation Required** is a recommended decision that should be confirmed by the owner before Final / Approved Baseline. ## 2. Decision Status Legend | Status | Meaning | |---|---| | Proposed / Owner Confirmation Required | Recommended decision; owner must confirm before Final. | | Accepted | Confirmed and part of baseline. | | Deferred | Not decided for this release; must not block scope if explicitly deferred. | | Rejected | Not selected. | ## 3. Key Blocking Decisions | Decision ID | Decision | Recommended decision | Status | Owner | Why it matters | |---|---|---|---|---|---| | DEC-001 | Release type | Internal Alpha first, then External Beta, then MVP Public / Store Release | Proposed / Owner Confirmation Required | Product Owner | Controls release gate, verification bar, legal/privacy requirements, and platform scope. | | DEC-002 | MVP platform scope | MVP target remains Windows, macOS, Linux, Android, and iOS; first release may be staged by channel/platform | Proposed / Owner Confirmation Required | Product Owner + Engineering Owner | Controls verification matrix, build artifacts, store readiness, and support load. | | DEC-003 | Minimum iOS version | iOS 13 minimum for Flutter support baseline; test latest iOS release separately | Proposed / Owner Confirmation Required | Product Owner + iOS Owner | Controls iOS compatibility, test devices, and app store eligibility. | | DEC-004 | Minimum Android version | Android API 24 minimum; target API level must satisfy current Google Play policy | Proposed / Owner Confirmation Required | Product Owner + Android Owner | Controls Android device support, runtime permissions, and Play Store eligibility. | | DEC-005 | Android target SDK | Target the Google Play-required API level on the upload date; current release gate uses API 35+ unless newer Google policy applies | Proposed / Owner Confirmation Required | Android Owner + Release Manager | Required for new apps and updates submitted to Google Play after the current policy date. | | DEC-006 | Multiple server connections in MVP | Not in MVP; support one active server connection per client instance | Proposed / Owner Confirmation Required | Product Owner + Software Architect | Reduces state synchronization, audio routing, UI complexity, and verification scope. | | DEC-007 | AEC default state | Enabled by default on platforms/audio backends where supported and stable | Proposed / Owner Confirmation Required | Audio Owner + Product Owner | Affects echo quality, CPU usage, platform behavior, and user experience. | | DEC-008 | AGC default state | Enabled by default, with user setting to disable | Proposed / Owner Confirmation Required | Audio Owner + Product Owner | Affects perceived loudness consistency and may affect advanced user preference. | | DEC-009 | Noise suppression default state | Enabled by default, with user setting to disable | Proposed / Owner Confirmation Required | Audio Owner + Product Owner | Improves typical voice quality but may affect voice naturalness and CPU usage. | | DEC-010 | High-pass filter default state | Enabled by default | Proposed / Owner Confirmation Required | Audio Owner | Removes low-frequency rumble and usually improves speech capture. | | DEC-011 | Audio processing implementation path | Use platform-native audio processing first where available; use Rust/WebRTC-style processing as controlled fallback or later architecture option | Proposed / Owner Confirmation Required | Software Architect + Audio Owner | Controls architecture, latency, CPU use, platform compatibility, and testing. | | DEC-012 | Official SDK / trademark / licensing review | Public/store release is blocked until legal confirms TeamSpeak non-affiliation wording, trademark usage, OSS licenses, and `tsclientlib` license posture | Proposed / Owner Confirmation Required | Legal / Compliance + Product Owner | Public release risk and store metadata risk. | | DEC-013 | Local database choice | Use SQLite or equivalent embedded local database for non-secret local state; secrets remain in platform secure storage | Proposed / Owner Confirmation Required | Software Architect + Storage Owner | Controls storage schema, migrations, backup/delete policy, and portability. | | DEC-014 | Bridge choice | Use a stable typed Flutter/Rust bridge with generated or schema-controlled DTOs; default to `flutter_rust_bridge` unless prototype proves a better option | Proposed / Owner Confirmation Required | Software Architect | Controls API stability, maintainability, async event flow, and long-term code generation. | | DEC-015 | Product language for MVP | English-only product UI for MVP; i18n-ready architecture; server-provided content preserved and not translated | Proposed / Owner Confirmation Required | Product Owner | Controls localization scope and release schedule. | | DEC-016 | Diagnostics upload policy | No automatic upload for MVP; user-initiated local diagnostic export only | Proposed / Owner Confirmation Required | Product Owner + Legal + Security | Controls privacy policy, support workflow, and security review scope. | | DEC-017 | Crash reporting | Disabled for MVP unless explicit opt-in provider and privacy policy are approved | Proposed / Owner Confirmation Required | Product Owner + Legal + Security | Avoids privacy/legal complexity before public release. | | DEC-018 | Public product name | Chanora | Proposed / Owner Confirmation Required | Product Owner | Branding and legal identity. | | DEC-019 | Public non-affiliation statement | Use legal-approved wording; draft: “Chanora is independent and is not affiliated with, endorsed by, sponsored by, or officially associated with TeamSpeak.” | Proposed / Legal Confirmation Required | Legal / Compliance | Required for public release and store metadata. | | DEC-021 | Apple App Store submission SDK | Use Xcode 26 or later and the iOS 26 / iPadOS 26 SDK or later for App Store submission on or after 2026-04-28, unless Apple publishes a newer applicable requirement before upload | Proposed / Owner Confirmation Required | iOS Owner + Release Manager | Controls App Store Connect upload eligibility and release pipeline. | | DEC-020 | License model | TBD by owner; no public release until license model and OSS obligations are confirmed | Open | Product Owner + Legal | Business and OSS compliance decision. | ## 4. Recommended MVP Defaults | Area | Recommended MVP default | |---|---| | Active connections | One active server connection | | UI design system | Material 3 + Chanora Design System | | Product language | English UI; i18n-ready | | Server content | Preserve and display Unicode; do not translate | | Diagnostics | Local, user-initiated export only | | Telemetry | None | | Crash reporting | None unless later approved | | Secret storage | Platform secure storage | | Non-secret local storage | SQLite or equivalent | | Audio processing | Platform-native first; fallback strategy documented | | AEC | Enabled by default where supported | | AGC | Enabled by default | | Noise suppression | Enabled by default | | High-pass filter | Enabled by default | | Android minimum | API 24 | | Android target | API 35 or newer for Google Play policy | | iOS minimum | iOS 13 | | Bridge | Stable typed Flutter/Rust bridge; default candidate `flutter_rust_bridge` | ## 5. Decision Impact Matrix | Decision | Affects SysRS | Affects SysDes | Affects SRS | Affects SAD | Affects SDD | Affects Verification | Affects Release | |---|---|---|---|---|---|---|---| | Minimum iOS / Android versions | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Android target SDK | No | No | Yes | No | No | Yes | Yes | | Multiple active connections | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | AEC/AGC/NS/HPF defaults | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Audio implementation path | No if behavior unchanged | Yes | Possibly | Yes | Yes | Yes | Yes | | SDK/trademark/legal review | Yes | No | No | No | No | Yes | Yes | | SQLite/equivalent choice | Possibly | Yes | Yes | Yes | Yes | Yes | Yes | | Bridge choice | No if API behavior unchanged | Yes | Possibly | Yes | Yes | Yes | Yes | | Apple App Store SDK gate | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Diagnostics upload policy | Yes | Yes | Yes | Yes | Yes | Yes | Yes | | Crash reporting | Yes if included | Yes if included | Yes if included | Yes if included | Yes if included | Yes | Yes | ## 6. Decisions That Must Be Confirmed By You | Priority | Decision | |---|---| | P0 | Confirm Apple App Store submission SDK gate: Xcode 26+ and iOS 26 / iPadOS 26 SDK+ for App Store Connect upload on or after 2026-04-28. | | P0 | Confirm release type sequence: Internal Alpha first? | | P0 | Confirm MVP platform strategy: all platforms as product target, staged release allowed? | | P0 | Confirm no automatic telemetry / no automatic diagnostic upload for MVP. | | P0 | Confirm one active server connection for MVP. | | P0 | Confirm audio processing defaults: AEC, AGC, noise suppression, high-pass filter enabled by default where supported. | | P0 | Confirm legal/trademark review required before any public/store release. | | P1 | Confirm SQLite/equivalent local DB choice. | | P1 | Confirm bridge default candidate. | | P1 | Confirm English-only MVP UI with i18n-ready architecture. | | P1 | Confirm crash reporting disabled unless later explicitly approved. | ## 7. Open Decision Log | Decision ID | Owner | Decision | Status | Date | Notes | |---|---|---|---|---|---| | DEC-001 | Product Owner | Release type sequence | Proposed / Owner Confirmation Required | TBD | Recommended: Internal Alpha first. | | DEC-002 | Product Owner / Engineering | MVP platform strategy | Proposed / Owner Confirmation Required | TBD | Recommended: all platforms as target, staged release allowed. | | DEC-003 | Product Owner / iOS Owner | Minimum iOS version | Proposed / Owner Confirmation Required | TBD | Recommended: iOS 13. | | DEC-004 | Product Owner / Android Owner | Minimum Android version | Proposed / Owner Confirmation Required | TBD | Recommended: Android API 24. | | DEC-005 | Android Owner / Release Manager | Android target SDK | Proposed / Owner Confirmation Required | TBD | Recommended: API 35 or newer for Play submission. | | DEC-006 | Product Owner / Software Architect | Multiple server connections in MVP | Proposed / Owner Confirmation Required | TBD | Recommended: not in MVP. | | DEC-007 | Audio Owner / Product Owner | AEC default | Proposed / Owner Confirmation Required | TBD | Recommended: enabled where supported. | | DEC-008 | Audio Owner / Product Owner | AGC default | Proposed / Owner Confirmation Required | TBD | Recommended: enabled. | | DEC-009 | Audio Owner / Product Owner | Noise suppression default | Proposed / Owner Confirmation Required | TBD | Recommended: enabled. | | DEC-010 | Audio Owner | High-pass filter default | Proposed / Owner Confirmation Required | TBD | Recommended: enabled. | | DEC-011 | Software Architect / Audio Owner | Audio processing path | Proposed / Owner Confirmation Required | TBD | Recommended: platform-native first. | | DEC-012 | Legal / Compliance | SDK/trademark/licensing review | Proposed / Owner Confirmation Required | TBD | Required before public/store release. | | DEC-013 | Software Architect / Storage Owner | Local database | Proposed / Owner Confirmation Required | TBD | Recommended: SQLite or equivalent. | | DEC-014 | Software Architect | Bridge choice | Proposed / Owner Confirmation Required | TBD | Recommended: typed bridge; default candidate `flutter_rust_bridge`. | | DEC-020 | Product Owner / Legal | License model | Open | TBD | Must be decided before public release. | ## 8. Change History | Version | Date | Description | |---|---|---| | 0.9.0 | 2026-05-14 | Updated decision register with proposed decisions for mobile minimum versions, audio defaults, audio implementation path, legal review, local database, bridge choice, diagnostics policy, and MVP release scope. | ## Baseline Candidate 0.9.1 Update | Version | Date | Description | |---|---|---| | 0.9.1 | 2026-05-14 | Updated baseline after product decision closure: Apple App Store SDK gate uses Xcode 26+ and iOS 26 / iPadOS 26 SDK+ for App Store Connect upload on or after 2026-04-28, platform baselines and decision traceability propagated across the document set. | ## Baseline Candidate 0.9.2 Update | Version | Date | Description | |---|---|---| | 0.9.2 | 2026-05-14 | Corrected Apple App Store Connect upload gate to 2026-04-28 and checked full-package naming, references, and coverage. |