adrs/

Architecture
Decision Records

ADRs documenting rationale, context, alternatives, and impact of key decisions.

10 topics in this section
adrs/ai/
AI / ML Decisions
Architecture decision records for AI/ML systems including model selection, data, and governance trade-offs.
adrs/bff-api-design/
ADR: Backend for Frontend (BFF) API Design for Mobile Clients
The Backend for Frontend pattern is the mandatory API integration model for all Ascendion mobile applications. Mobile clients have fundamentally different network, battery, and security constraints from web clients. A shared generic API forces over-fetching, incorrect authentication patterns, and performance degradation on every request. This ADR mandates a purpose-built mobile API layer that eliminates these defects by design.
adrs/data/
Data Architecture Decisions
Architecture decision records for data architecture including modelling, integration, and governance.
adrs/enterprise-mobile-banking/
ADR: Enterprise Mobile Architecture — Banking Applications
The authoritative architecture decision record for banking and financial services mobile applications. Defines engineering principles, security architecture, offline strategy, API design, CI/CD, testing, observability, and organisational scaling across the full mobile engineering lifecycle — from a founding team of five to a hyper-scale platform serving fifty million users.
adrs/mobile-architecture-pattern/
ADR: Mobile Application Architecture Pattern Selection
The architecture pattern is the highest-leverage structural decision in mobile engineering. It determines whether business logic is testable in isolation, whether security properties are auditable, and whether the codebase can scale across teams and years without accumulating irreversible structural debt.
adrs/mobile-cicd-pipeline/
ADR: Mobile CI/CD Pipeline Tooling
Mobile CI/CD presents unique engineering challenges absent from backend pipelines: iOS builds require macOS infrastructure, code signing involves certificates and provisioning profiles that expire and must be shared across a team, both app stores have multi-day review processes, and staged rollouts require coordination between the deployment pipeline and store dashboards. This ADR eliminates the class of failures that arise from ad-hoc, undocumented mobile release processes.
adrs/mobile-platform-selection/
ADR: Mobile Platform Selection
Platform selection is the highest-stakes technology choice in mobile engineering. It determines team structure, hiring pool, five-year total cost of ownership, performance ceiling, and the feasibility of certain device API feature categories. This ADR establishes the structured evaluation framework that must be applied at project initiation — replacing informal, preference-driven decisions with weighted criteria and documented rationale.
adrs/mobile-security-controls/
ADR: Mobile Application Security Controls
Mobile application security differs from backend security because the attack surface is distributed across millions of untrusted devices outside the engineering team's control. Every mobile binary is a potential attack artefact — decompilable, modifiable, repackageable. Every on-device data store is a breach target if the device is compromised. Security architecture for mobile must treat device compromise as a design input, not an edge case.
adrs/platform/
Platform Architecture Decisions
Architecture decision records for platform-level concerns including runtime, deployment, and integration.
adrs/security/
Security Architecture Decisions
Architecture decision records for security-critical decisions including identity, encryption, and segmentation.