{"product":"Walter","summary":"AI digital front desk for 1:1 service operators (tutors, physios, beauty, coaches, consultants, gym and studio). Clients write in. Walter drafts a reply in the operator's voice. You approve, edit, or reject. Nothing goes out until you say so.","quality":"Working preview. Not a launch. Not a multi-operator account system. Request access if you run 1:1 sessions.","launch":false,"outreach":"frozen","ready":["Drafted replies on inbound client threads","Approve, edit, or reject before anything is treated as sent","Send stays a simulation plus a copyable email draft until Resend keys are set on the host","Inbound webhook is wired (Svix verify) and stays closed until the webhook secret and DNS exist","Schedule-aware drafts from the stored week. No invented out-of-hours slots","Appearance: system, light, or dark"],"later":["A green live send. Code is present; keys and DNS are not. This preview will not fake it","Live inbound from WhatsApp, Instagram, or a site form","Multi-operator practices and permissions","Holds against a live timetable","A payments ledger. Not a promise"],"nextStep":{"label":"Request access","path":"/access","note":"Name, email, and studio or practice. Inbound only. No outreach from this form."},"signIn":{"label":"Sign in","path":"/login","note":"For operators who already have a desk login. Credentials are not published here."},"runtime":{"mailer":{"active":"stub","simulation":true,"label":"Approve is simulated + mailto. Resend is not configured."},"inbound":{"configured":false,"label":"Inbound webhook not configured (seed only)"},"database":{"kind":"file","durable":false,"label":"No DATABASE_URL — ephemeral /tmp file on Vercel"}},"blockers":["DATABASE_URL (and DATABASE_AUTH_TOKEN) are not set to a durable Turso libSQL database. Without them the inbox is a local file in dev and ephemeral on Vercel.","MAILER=resend and RESEND_API_KEY are not both set. Approve still never auto-sends; it stays on StubMailer (simulated + mailto) until both exist.","EMAIL_FROM is missing. A live send is refused if this is unset, and the thread stays unsent.","RESEND_WEBHOOK_SECRET is missing. Unsigned inbound is rejected. Point a Resend email.received webhook at /api/inbound/email when ready.","INBOUND_TO_ALLOWLIST is empty. Set the front-desk address or @domain before pointing public MX at this webhook.","Receiving MX / inbound DNS for the desk domain is not claimed by this app. Status will not pretend DNS is done."]}