319218ce21
Test backoffice (smb-crm) / test (push) Has been cancelled
Postgres is now the sole source of truth: delete sheets.py and import_from_sheets.py, strip mirror_entity/mirror_async/_mirror_worker and POST /api/sync from app.py, drop the tab/mirror keys from db.py's TABLES. Re-point n8n/renewal-reminder.json at the CRM's own HTTP API (GET /api/clients, POST /api/activity_log) instead of the Sheets nodes, and drop SHEET_ID/GOOGLE_SA_JSON from deploy env/compose and requests from requirements.txt (PyJWT stays — still used by booking_api.py). Updates docs/README/playbooks accordingly and closes the old #5 (atomic mirror) as moot. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
34 lines
2.0 KiB
Markdown
34 lines
2.0 KiB
Markdown
# Playbook — Tier B (self-hosted / privacy)
|
||
|
||
For privacy-sensitive businesses (physio, medical, legal, tax, therapy). Data stays on
|
||
German-hosted infrastructure. You charge a privacy/hosting premium. Target build time: ~1–2 days.
|
||
|
||
## When to pick Tier B
|
||
- Handles health, legal or financial personal data → GDPR sensitivity is a selling point.
|
||
- Client explicitly wants control over where data lives / no third-party tracking.
|
||
|
||
## Setup checklist
|
||
1. **Landing page** — clone `templates/landing/demo-tier-b/`, rebrand. Keep the privacy band and
|
||
"Daten in Deutschland" badges. Deploy to a free static host or the homelab behind HTTPS.
|
||
2. **Domain + TLS** — connect domain; ensure valid certificate (Caddy/Let's Encrypt).
|
||
3. **Booking** — deploy **self-hosted Cal.com** (see `stacks/selfhosted/docker-compose.yml`);
|
||
create the practice's event types; embed it (replace the demo Cal.com card).
|
||
4. **Lead form** — self-hosted form endpoint → n8n webhook → CRM. No third-party form service.
|
||
5. **Reception** — business mailbox; (later) the **AI receptionist** widget (Phase 6, Claude
|
||
Haiku 4.5) wired to the booking + FAQ.
|
||
6. **Credentials** — store all client logins in **Vaultwarden**; the CRM holds only `vault_ref`.
|
||
7. **CRM** — add a `Clients` row (tier = B, services, monthly_fee, renewal_date, vault_ref).
|
||
8. **Backups** — ensure the Tier-B services + CRM are in the daily backup job.
|
||
|
||
## Hosting note (NETWAYS boundary)
|
||
Keep this as **"I host a small website + booking for you,"** not managed cloud/monitoring. Use
|
||
cheap shared/managed infra or the homelab for low-traffic client sites — do not position it as a
|
||
managed-cloud/Kubernetes/monitoring service (that is NETWAYS's lane).
|
||
|
||
## What to charge (suggestion)
|
||
- One-off setup: €600–1,500 (self-hosted booking + privacy setup is worth more).
|
||
- Monthly hosting + management: €40–90 (covers infra, updates, backups, support).
|
||
|
||
## Recurring tasks
|
||
- Renewal reminder, Cal.com/booking sync to CRM, backup verification, security updates.
|