Adds accounting-service PATCH/archive, fiscal helpers, COA templates and setup status, plus SuperApp Accounting UI (DS, scoreboard, masters, vouchers, ledger, ops modules) with session refresh and HTTPS public API URLs. Co-authored-by: Cursor <cursoragent@cursor.com>
41 lines
1.1 KiB
Markdown
41 lines
1.1 KiB
Markdown
# ADR-005: Mandatory Mobile Identity with OTP
|
|
|
|
| Field | Value |
|
|
| --- | --- |
|
|
| Status | Accepted |
|
|
| Date | 2025-06-01 |
|
|
| Deciders | Product + Platform Architecture |
|
|
| Supersedes | — |
|
|
| Superseded by | — |
|
|
|
|
## Context
|
|
|
|
Iranian market users commonly authenticate with mobile numbers. Email-only accounts create incomplete identity for SMS, payments, and support.
|
|
|
|
## Decision
|
|
|
|
Mobile number is mandatory for all platform users and must be verified via SMS OTP (Payamak provider). Keycloak login supports password and mobile OTP tabs. Core stores `users.mobile` (unique) and `mobile_verified`.
|
|
|
|
## Consequences
|
|
|
|
### Positive
|
|
|
|
- Unified identity key across modules
|
|
- Ready for SMS notifications and recovery
|
|
|
|
### Negative
|
|
|
|
- Dependency on SMS provider availability
|
|
- Users without Iranian mobiles need future exception paths
|
|
|
|
## Alternatives Considered
|
|
|
|
1. Email-primary identity
|
|
2. Optional mobile
|
|
|
|
## Related Documents
|
|
|
|
- [Identity Architecture](../identity-architecture.md)
|
|
- [Provider Registry](../../provider-registry.md)
|
|
- [Glossary](../../glossary.md)
|