Last updated: 2026-07-12

🔐
Confidential — Share Securely with Client

This page contains credentials and infrastructure identifiers. Do not share via unencrypted email.

Live URLs

ServiceURL
Public Site + Admin Portalbernies.sonandigital.com
Worker API (internal)bernies-api.sonandigital.com

Admin Login

FieldValue
URLPublic site → Admin Login (bottom of page)
Default passwordAdmin@2026 — change immediately after first login
Password requirements8+ chars · uppercase · number · symbol

Infrastructure

ResourceValue
Cloudflare Accountsonantechai
D1 Database namelawncare_db
D1 Database IDf029e545-6c71-4762-8776-fd4f930264df
Worker environmentbernies (in wrangler.toml)
Pages project namelawncare-portal
GitHub repositorysonantechai/lawncare-portal
VITE_API_URL (Pages env var)https://bernies-api.sonandigital.com
JWT_SECRETSet as Worker secret — retrieve from Cloudflare Dashboard → Workers → Secrets

Client-Facing Access

ItemDetail
Admin URLbernies.sonandigital.com → Admin Login
First-time login passwordAdmin@2026
Action after first loginChange password immediately · Update business name, phone, email, address in Settings · Add service types · Upload logo

Secret Management

The JWT_SECRET is stored as a Cloudflare Worker secret (not in code or wrangler.toml). To rotate it: npx wrangler secret put JWT_SECRET --env bernies. After rotating the secret, all existing admin sessions become invalid — the admin will need to log in again. Admin password hashes are stored in the D1 admin_users table using PBKDF2-SHA256.