Sensei AI exists to help fighters train better between sessions — not to flatter them with invented numbers. This page documents how the system is built, where it runs, what it does with your data, and what it explicitly will not do. It's the single source of truth for the responsible-AI material referenced elsewhere on this site.
Where users sign in, upload clips, receive analyses, and chat with the coach. All training data, video, and analyses live here.
The public shopfront. Static content + a small number of form endpoints that today log payloads server-side and return mock responses (real backend handoff in flight).
Over the next 12 months we plan to consolidate brand presence under sensei.coach while keeping the production application on Google Cloud (europe-west1). All commitments on this page apply regardless of the user-facing URL.
Production application runs on Google Cloud Run europe-west1 (Ireland). Supabase EU (Postgres + Auth + Storage). No US or Asia data centers. Marketing-site form submissions run on Vercel Frankfurt (fra1).
Every training video uploaded to the app is deleted from object storage after 90 days. Generated analyses (text + numbers) are retained while the account is active, deleted on request within 30 days.
Multi-person sparring footage runs through OpenCV face detection and Gaussian blur before any biomechanical analysis. The unblurred frame never leaves the processing function.
OAuth tokens for the optional Whoop integration are AES-GCM encrypted at rest. Encryption key lives in Google Secret Manager.
One-click data deletion through account settings. Consent + deletion audit tables in Postgres (migration 065). Statutory response within 30 days.
Pose extraction uses Google's MediaPipe BlazePose Heavy model running locally on our Cloud Run containers. Your video never goes through DeepMotion, Move.ai, or any other external motion-capture API.
Every video analysis produces a 0–100 confidence score from four measured factors. The score is surfaced to the user as a coloured pill in the analysis card header, and the coaching layer is rule-bound to refuse strike-count claims and offer only qualitative observations when confidence is low.
Full frame-anchored coaching with strike-level reads.
Specifics with hedged language and a visible confidence pill.
The model refuses strike counts; qualitative observations only.
Video upload requires explicit consent. The consent flag is stored alongside the upload row in Postgres with a timestamp.
One-click account deletion from settings. Backend deletes within 30 days; deletion audit table records the action.
Users can export their training history (analyses, scores, chat) in JSON or CSV on request.
Full GDPR rights detail and exercise process is on the GDPR page. Privacy commitments and the cookie posture are at /privacy and /cookies.
For data, AI ethics, or platform-review questions — including program-partner due diligence — email Kevin directly. We aim to reply within two working days.