AZVYRADocumentation
EN AR
Appendices·42

Binding operating rules

Rules to lock before development: states, payments, permissions and tracking.

2 min read Updated 3 Nov 2026 ForAdmin · Head coachTechnical owner

1. Request and subscription states are separate#

Do not represent the account state, the registration-request state and the subscription state in one field. Each has an independent lifecycle:

  • Account: active, unverified, suspended, deleted/scheduled for deletion.
  • Request: draft, awaiting questionnaire, awaiting review, needs information, approved, rejected.
  • Subscription: awaiting payment, active, expiring, paused, expired, cancelled, partially/fully refunded.

    2. Payment does not activate a subscription on browser return#

    Activation happens only after a signed webhook from the payment provider is verified, with idempotency and a match on amount, currency and order. The browser return page is not proof of payment.

    3. Google Sheets permissions#

  • Never create public links for files containing health data or measurements.
  • Share with specific accounts, with the ability to revoke.
  • The trainee gets Viewer by default, never Editor without a clear decision.
  • File creation, sharing, revocation and sync are logged.
  • A failed sync never stops the platform or changes database data.

    4. Tracking and analytics#

  • Collect the minimum necessary usage events, with clear notice and appropriate consent under the privacy policy.
  • Page or video tracking is never used for health assessment or automated decisions against the trainee.
  • “Active watch time” must be defined technically, including inactive tabs and connection loss.

    5. AI assistant#

  • Does not diagnose medical conditions, prescribe treatment, or recommend medications or steroid doses.
  • Does not modify a published plan or send sensitive advice without the responsible coach's approval.
  • States that calorie calculations and projections are estimates and may differ from actual measurement.
  • Shows the data sources and period behind an analysis, with the ability to correct the data.
  • Removes unnecessary personal data before sending it to the model provider, and defines conversation retention.

    6. KPI definitions#

    Every percentage in a dashboard or report must show its definition, period and denominator. A single “success score” is not a medical fact; it is a configurable operational indicator and must not hide the individual metrics.

    7. Detailed acceptance criteria#

    • A trainee cannot access another trainee's record by changing an ID in a URL or API call.
    • An assistant coach cannot see an unassigned trainee.
    • A nutritionist cannot edit a training program without explicit permission.
    • A subscription is never activated without valid payment proof or a documented manual payment.
    • Every edit to a published plan stores a previous version, the editor and the timestamp.
    • No progress photo or private health file is reachable through a public link.
    • A notification can be re-sent without creating a duplicate payment or invoice.
    • A backup can be restored in a test environment and its files and database verified.
    • Core interfaces work in Arabic RTL and English LTR, on mobile and desktop.
    • Core journeys are tested automatically: registration, approval, payment, activation, workout logging, meal logging, weekly check-in, renewal and expiry.

      :::

      8. Change management#

      Any addition after this document is approved is logged as a change request containing: the requirement, the reason for change, affected screens, impact on the database and API, security impact, time and cost estimate, and an acceptance criterion. Items listed as “later” are not a commitment within the baseline price or timeline.