Skip to Content
v1.29.0 · shipped Own analytics id., Refused batches are not replayed forever. Read the changelog →
Security & complianceOverview

Security & compliance

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 on every table, 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 is SOC 2 ready, not SOC 2 certified — see the last row.

Posture at a glance

ControlWhat it means for youStatusDetails
Data residencyPick a region at project creation; rows never replicate across regionsLive: single Tokyo (ap-northeast-1) cluster today. EU / JP dedicated clusters reserved, nightly no-cross-region attestation already runsData 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’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 7 d · Indie 30 d · Pro 90 d · Enterprise custom) or your per-project policy are hard-deleted daily; legal holds are skippedLive, daily 03:00 UTCSOC 2 → retention
Tenant isolationEvery table carries a row-level-security policy keyed on (SELECT auth.uid()); every policy column is indexedLiveNo client data leakage
Nightly RLS coverage checkmushi_rls_coverage_snapshot() verifies each public table still has a policy and writes the delta to the evidence tableLive, nightlySOC 2 → automated controls
Prompt-injection sanitizerReport text, console lines, OCR output, and screenshots pass sanitizeForLLM() and a vision-safe path before any model sees them; the OWASP LLM01 corpus runs in CILivePrompt-injection defence
EncryptionTLS 1.2+ in transit; disk encryption at rest; PII columns (reporter_email, reporter_name, screenshot_url) additionally encrypted with pgsodiumLiveSOC 2 readiness
Audit logAppend-only audit_log of who did what, per user, under RLSLiveSOC 2 readiness
DSAR toolingOne SQL call produces a signed export per reporter for data-subject requestsLiveSOC 2 → DSAR
SOC 2Readiness, not certification. The evidence pack, RLS and retention attestations, and the audit log are generated and refreshed automatically so an auditor has what they need. No third-party audit has been performedReadiness live · certification not startedSOC 2 readiness

Operational transparency

  • Status page: updown.io/p/b6lod  — live availability and history for the ingest API, hosted MCP, console, and docs. What is monitored and the uptime commitment per plan 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 EU and JP clusters are not live; the region setting is honoured by the attestation but all rows sit in Tokyo today.
  • 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