Fleshed out documentation
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# ADR 0003: Authentica As Primary OTP Provider
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
|
||||
The platform requires phone-first authentication with OTP delivery for KSA. The codebase includes multiple provider adapters (`console`, `twilio`, `unifonic`, `authentica`) but only Authentica is implemented for provider-managed OTP delivery (send/verify) and direct SMS messaging. Twilio and Unifonic adapters are partial or unimplemented; a console provider exists for local development.
|
||||
|
||||
## Decision
|
||||
|
||||
Use Authentica as the primary OTP provider for the MVP, with `OTP_PROVIDER=authentica` in production environments. Keep `console` for local development and tests, and retain Twilio/Unifonic adapters as scaffolds for future expansion.
|
||||
|
||||
## Consequences
|
||||
|
||||
- OTP verification relies on Authentica APIs and credentials in production.
|
||||
- Local development remains simple with the console provider.
|
||||
- Adding a second production provider will require completing adapters and updating operational runbooks.
|
||||
|
||||
## Alternatives Considered
|
||||
|
||||
- Twilio as primary provider: not selected due to KSA-focused delivery needs and current adapter gaps.
|
||||
- Unifonic as primary provider: deferred until the adapter is fully implemented and validated.
|
||||
|
||||
## Related
|
||||
|
||||
- `backend/apps/accounts/services/otp.py`
|
||||
- `backend/salon_api/settings.py`
|
||||
- `docs/architecture.md`
|
||||
Reference in New Issue
Block a user