> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neobank.proofof.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Customer and operations frontend

> One React application serves customer banking flows and restricted operator console routes, with no offline caching.

# ADR 0008: Ship one customer application with restricted operations routes

This record defines the first frontend boundary and language scope.

## Context

V1 needs customer banking flows and a small internal console. English ships first, while Arabic support must not require a structural rewrite.

## Decision

Use one React application with customer routes and role-gated `/ops` routes. Keep authorization in FastAPI. Extract all copy into localization keys, use locale-aware formatting, and make layout primitives compatible with right-to-left text.

Do not register a service worker or cache authenticated responses offline.

## Consequences

The shared design system reduces duplication. Operators receive only view and fail-safe suspension actions. A later risk or staffing boundary may justify a separate deployment.

## Rejected alternatives

* **Separate operations repository**: v1 scope does not justify duplicated tooling.
* **Progressive web application caching**: stale banking state and cached private responses create unacceptable ambiguity.
