Files
gridpilot.gg/docs/architecture/shared/FEATURE_AVAILABILITY.md
2026-01-11 14:42:54 +01:00

957 B

Feature Availability (Shared Contract)

This document defines the shared, cross-app system for enabling and disabling capabilities.

Feature availability is not authorization.

Shared contract:

1) Core principle (non-negotiable)

Availability is decided once, then applied in multiple places.

  • API Guards enforce availability.
  • Website Blockers reflect availability for UX.

2) Capability model (strict)

Inputs to evaluation:

  • operational mode (normal, maintenance, test)
  • capability key (stable string)
  • action type (view, mutate)
  • actor context (anonymous, authenticated)

Outputs:

  • allow or deny
  • a public reason (maintenance, disabled, coming_soon, hidden, not_configured)

3) Non-negotiable rules

  1. Default is deny unless explicitly enabled.
  2. The API is authoritative.
  3. The website is UX-only.