{ "phase": "production-live", "version": "0.4.3-prod / 0.4.4-staging", "staging": { "status": "running", "namespace": "snapapi-staging", "replicas": 1, "image": "docker.io/library/snapapi:v0.4.3", "healthCheck": "passing" }, "production": { "status": "running", "namespace": "snapapi", "replicas": 2, "image": "docker.io/library/snapapi:v0.4.3", "healthCheck": "passing", "domain": "https://snapapi.eu", "tls": "Let's Encrypt (valid until 2026-05-20)" }, "blockers": [ "Stripe webhook URL needs to be registered in Stripe Dashboard: https://snapapi.eu/v1/billing/webhook" ], "completed": [ "Core screenshot API (POST /v1/screenshot)", "Playground endpoint (POST /v1/playground) — no auth, IP rate limited (5/hr), watermarked", "Watermark service — overlays 'snapapi.eu — upgrade for clean screenshots' on playground output", "Health check (GET /health)", "SSRF protection (blocks private IPs, metadata, K8s services)", "Browser pool with auto-recycling", "PostgreSQL DB integration (api_keys + usage tables)", "Usage tracking with per-key limits", "REDESIGNED landing page — playground as hero demo, no free tier, paid-only pricing", "Swagger/OpenAPI interactive docs at /docs", "OpenAPI 3.0.3 spec at /openapi.json (updated for v0.3.0)", "Production deployment (2 replicas, HA, anti-affinity)", "Production TLS (Let's Encrypt) on snapapi.eu", "Staging deployment (1 replica)", "Cache-aside key lookup (multi-replica fix)", "Mobile-responsive design", "Per-route CSP", "Removed free signup flow (v0.3.0)", "Stripe billing integration — 3 paid plans (Starter €9, Pro €29, Business €79)", "Stripe Checkout flow (plan selection → Stripe → success page with API key)", "Stripe webhook handler (subscription lifecycle, product filtering for shared account)", "Status page at /status (auto-refresh, dark theme)", "Git push access from openclaw-vm (deploy key: forgejo-snapapi)", "Codebase pushed to Forgejo repo (openclawd/SnapAPI) — all source, Dockerfile, CI workflows", "Legal pages: Impressum (§5 ECG), Privacy Policy (GDPR), Terms of Service", "Footer links to all legal pages", "SEO: robots.txt, sitemap.xml, OG tags, Twitter cards, JSON-LD structured data, canonical URL", "404 page (dark theme, proper HTTP 404 status)" ], "notDone": [ "Register Stripe webhook URL in Stripe Dashboard", "CI/CD pipeline: workflows updated, RBAC+kubeconfig ready, BLOCKED on Forgejo token scope (needs write:repository)", "Staging TLS (blocked on DNS for staging.snapapi.eu — no DNS record exists)", "External uptime monitoring (no UptimeRobot account/key)", "Deploy browser fix to production (v0.4.4 tag needed — investor decision)" ], "stripeProducts": { "starter": { "productId": "prod_U0YOVzPDAht9eH", "priceId": "price_1T2XHnRtlDv9c8GoNehDYEhS" }, "pro": { "productId": "prod_U0YOlQO6hAF7Tg", "priceId": "price_1T2XHoRtlDv9c8GoCsinPNM4" }, "business": { "productId": "prod_U0YOSor6qXhHs8", "priceId": "price_1T2XHpRtlDv9c8GoThHfd8kS" } }, "lastSession": "2026-02-20T14:00:00Z", "codeLocation": "Forgejo repo openclawd/SnapAPI. Clone: git clone forgejo-snapapi:openclawd/SnapAPI.git" }