Showing all phase content; selected phase is highlighted in section badges.
Cost Model
As-of: 2026-05-09. Azure pricing sourced from Azure App Service Linux Pricing and Azure Database for PostgreSQL Flexible Server Pricing. All figures are Central US region, pay-as-you-go. Verify all figures against current Azure pricing pages before presenting to stakeholders — prices may have changed since this document was last updated.
Slightly higher per-message, additional phone number cost
Additional App Insights (challenge events)
Marginal
~$2–5
New telemetry surface for OTP events
Projected Cost at Scale
Cost Scaling Model
Scale
Users
Est. Requests/Mo
App Service
Postgres
KV
Insights
NAT GW
SMS (v4)
Total/Mo
Per-User/Mo
Pilot
10
50
S1: ~$69
B1ms: ~$15
~$1
~$3
$0 (no VNet)
—
~$88
~$8.80
Department
100
500
S1: ~$69
D2s_v3: ~$125
~$2
~$8
~$35
~$4
~$243
~$2.43
Division
1,000
5,000
P1V2: ~$140
D4s_v3: ~$250
~$5
~$25
~$40
~$38
~$498
~$0.50
Enterprise
10,000
50,000
P2V2: ~$280
D8s_v3: ~$500
~$15
~$70
~$55
~$375
~$1,295
~$0.13
All figures are estimates. Verify against current Azure pricing. Keeper licensing is excluded from all rows — it’s a separate line item that depends on the licensing model negotiated.
Cost-Per-User Trend
Cost per user decreases with scale. The fixed-cost base (App Service, Postgres, NAT Gateway) is amortized across more users. The primary variable costs are Application Insights (scales with telemetry volume) and SMS (scales linearly with message count).
Non-Linear Cost Steps
These are the points where you have to upgrade SKUs:
Trigger
Current SKU
Upgrade To
Cost Jump
Custom domain + SSL needed
B1 (~$13)
S1 (~$69)
+$56/mo
>200 concurrent connections or >1.75 GB memory
S1 (~$69)
P1V2 (~$140)
+$71/mo
>4 vCores needed for Postgres
D2s_v3 (~$125)
D4s_v3 (~$250)
+$125/mo
Postgres IOPS > burstable limit
Burstable (~$15)
General Purpose (~$125)
+$110/mo
High-availability Postgres needed
Single server
Zone-redundant HA
~2x Postgres cost
What’s Not in This Model
Keeper licensing: Pricing is not public. Depends on seat count, enterprise vs. business tier, and negotiated terms. This is likely the single largest cost variable and must be resolved before v3 scoping.