Skip to Content
v1.33.8 · shipped One-screen report · Looks like your app Read the changelog →
Security & complianceOverview

Security & compliance

Mushi Mushi handles raw bug reports: screenshots, console output, sometimes a user’s email. This page is the one-screen summary for whoever has to sign off on that. Every row links to the page with the mechanism and the evidence.

Short version. Your data is scoped to your project by row-level security, you can run diagnoses on your own model keys and keep screenshots in your own bucket, old reports are hard-deleted on your plan’s schedule, and the controls are checked by cron, not by promise. Mushi Mushi is not SOC 2 certified. It collects evidence toward SOC 2; see the last row.

Posture at a glance

ControlWhat it means for youStatusDetails
Data residencyPick a region (US, EU or JP) at project creationAll hosted data is in one Tokyo (ap-northeast-1) project today, whatever region you pick. Dedicated US and EU clusters are planned, not liveData residency
Bring-your-own-key (BYOK)Diagnoses run against your Anthropic / OpenAI / OpenRouter account. Keys are stored in Vault, never shown back in plaintext, and nothing is billed to Mushi Mushi’s provider accountLiveBYOK
BYO storageScreenshots and crash dumps pinned to your own S3 / R2 / GCS / MinIO bucket; URLs signed server-sideLiveBYO storage
Retention sweepReports older than your plan window (Free 14 d · Builder 90 d · Studio 180 d · Enterprise custom) or your per-project policy are hard-deleted daily; legal holds are skippedLive, dailySOC 2 → retention
Tenant isolationRow-level security is enabled on the public tables, and policies scope rows to the projects you own or belong to ((SELECT auth.uid()))LiveNo client data leakage
Nightly RLS coverage checkmushi_rls_coverage_snapshot() lists every public table and whether RLS is enabled; the soc2-evidence job records the result as control CC6.1Live, nightlySOC 2 → automated controls
Prompt-injection defenceThe diagnosis runs in two stages so the main model never reads raw report text; text sent to the fix and review agents passes sanitizeForLLM(); screenshots go to an image-only call; an OWASP LLM01-style corpus runs in CILivePrompt-injection defence
EncryptionTLS in transit; Supabase disk encryption at rest; model and storage keys in Supabase Vault. Report columns are not encrypted separatelyLiveSOC 2 readiness
Audit logaudit_logs records admin write actions per project, under RLSLiveSOC 2 readiness
DSAR trackingFile and track data-subject requests per project in Compliance → DSARs. The row is the audit trail; you fulfil the request yourselfLiveSOC 2 → DSAR
SOC 2Readiness, not certification. A nightly job writes evidence snapshots for five controls (RLS, retention, audit-log volume, DSAR lag, availability) that an auditor could start from. No third-party audit has been performedEvidence collection live · certification not startedSOC 2 readiness

Operational transparency

  • Status page: updown.io/p/b6lod  — live availability and history for the API, hosted MCP, console, and docs. What is monitored and what we do and do not promise are on Status & uptime.
  • Open source: the server that enforces all of the above is public  under AGPLv3, so the policies, the cron jobs, and the tests can be read rather than trusted.
  • Sub-processors, retention table, and your rights: on the Privacy Policy.

Report a vulnerability

Please do not open a public issue. Use either channel:

  1. GitHub private vulnerability reporting (preferred): github.com/kensaurus/mushi-mushi/security/advisories/new 
  2. Email: kensaurus@gmail.com, subject prefix [mushi-security]

Acknowledgement within 2 days, triage within 7, and a fix for critical and high findings within 30. The full timeline, safe-harbor terms, and what to include are in SECURITY.md .

What we do not claim

  • No SOC 2 Type 1 or Type 2 report exists yet.
  • Dedicated US and EU clusters are not live; all hosted rows sit in Tokyo today, whatever region a project picked.
  • No cross-region attestation runs yet, and report columns are not encrypted beyond Supabase’s disk encryption.
  • No uptime SLA on any self-serve plan.
  • Prompt-injection defences reduce risk; they do not make model output safe to merge unreviewed. Keep the fix agent on draft PRs.

The deeper pages: BYOK · Data residency · BYO storage · SOC 2 readiness · Prompt-injection defence · No client data leakage

Last updated on