- Protection: Broker + Tray + cloud SMS alerts — no kernel block
- Hosting: Azure App Service (Linux) + Azure SQL + Key Vault + Blob + App Insights
- Web: Marketing + portal in
ScamAlert.Api(single deployable) - Desktop pairing: One-time code from portal → installer wizard writes
%ProgramData%\ScamAlert\broker.appsettings.json - Email: SendGrid — welcome, password reset
- Timeline: ~6 weeks; beta = a few family members; small team
- Pricing: One plan — $7.99/month (plan code
pro, “Family protection”)
| Phase | Status | Focus |
|---|---|---|
| 1 — Azure foundation | Code complete — deploy last (beta) | Bicep, CI/CD, staging deploy |
| 2 — Portal & onboarding | Done (local) | Devices, contacts CRUD, email, keys, portal UI |
| 3 — Windows installer | Done (local) | MSI + Configurator; code signing optional |
| 4 — Marketing & compliance | Done (local) | Pricing, legal, SEO, signup consents |
| 5 — Beta hardening | Done (local) | Health checks, production validator, runbooks |
| 6 — Kernel driver | Deferred | Not in MVP |
What to do next: follow next-steps.md — local test → Stripe/SendGrid/Twilio → Azure deploy → family beta.
-
infra/main.bicep— SQL, App Service, Key Vault, Storage, App Insights -
infra/scripts/— PowerShell deploy helpers -
.github/workflows/ci.yml— build + test -
.github/workflows/deploy-staging.yml— optional infra + app deploy - Azure Monitor OpenTelemetry in
ScamAlert.ServiceDefaults -
appsettings.Staging.json
Deploy when ready for beta: see infra/README.md, next-steps.md.
- Device pairing codes (portal +
POST /api/setup/redeem) -
scripts/configure-broker-from-pairing-code.ps1 - Broker loads
ProgramData\ScamAlert\broker.appsettings.json - MSI packaging Broker (Windows service) + Tray
- Installer pairing UI (
ScamAlert.Configurator) - Bake optional
DefaultApiBaseUrlat MSI build - Code-signed MSI for production SmartScreen trust (optional)