Files
Salon/docs/adr/0003-authentica-otp-provider.md
2026-02-28 17:41:00 +03:00

1.3 KiB

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.
  • backend/apps/accounts/services/otp.py
  • backend/salon_api/settings.py
  • docs/architecture.md