Privacy
Your farm records never leave your device.
Cows, hives, fields, transactions — all of it lives in local SQLite. Backups go from your phone to wherever you point them (Drive, email, local file). We do not have a copy.
Farm data is local-first
Every entity, event, and transaction is stored in on-device SQLite. The app works fully offline; your data lives on your device by default.
Server holds ciphertext
Account email, subscription tier, daily AI count — plus, if you enable backups or sync, encrypted blobs the server cannot read.
Zero-knowledge encryption
Backups and sync are end-to-end encrypted with AES-256-GCM under a passphrase only you hold. We never receive the key, so we cannot recover it.
Open binary format
Backup files are versioned JSON inside the encrypted envelope. If we vanish, you can decrypt them with the published format spec.
Where data lives
Two clean lines: device vs server.
Readable farm data lives on your device. It only leaves in two cases, both on your terms: when you ask the AI a question (after you confirm the preview), or — on a paid tier — as end-to-end encrypted snapshots when you turn on backups or cross-device sync. In that second case the server stores ciphertext it cannot read.
When AI is used
You see what's sent before it goes.
AI features are Musha paid-tier only and strictly opt-in. The first time you open them, you acknowledge a disclaimer. Every prompt shows a preview of the data being included.
Preview before send
Chip list of every entity and event included. Strike any you don't want sent. Cancel for free.
Provider, your choice
Google Gemini or Anthropic Claude. Same UI, same limits — different model under the hood.
Token counts only
We log how many tokens you used so we can count it against your daily quota. Never the prompt body, never the response.
Backups
Your records, your copy, your choice of destination.
Backup any time via the system share sheet — Drive, email, local file, anywhere. Encrypted with your passphrase. Restore is a single file pick.
- AES-256-GCM with PBKDF2-derived key (120,000 SHA-256 iterations).
- MUSHA_ENC_v1 magic header — the format is published and decryptable without our help.
- Restore picks a file, asks for the passphrase, and replaces all four user tables in a single transaction.
- If you lose the passphrase, we cannot recover it. We do not hold it.
Cross-device sync
Sync without handing us the keys.
On a paid tier you can keep your phone and tablet in step. Sync uses the same zero-knowledge model as backups: every record is encrypted on your device with your passphrase before it leaves, the server stores only the resulting ciphertext, and the passphrase never reaches us. We move your data between your devices; we cannot read a byte of it.
It is snapshot-based, not a live shared session. Conflicting edits are detected and surfaced for you to resolve, and a record being edited on another device is flagged so two devices don't silently overwrite each other.
- Same AES-256-GCM, passphrase-derived encryption as backups — applied before any snapshot is uploaded.
- The server holds ciphertext only. No plaintext farm data, no passphrase, no key — there is nothing on our side to read or leak.
- Snapshot-based sync: conflicts are detected and resolvable, and an in-flight edit elsewhere is flagged before you clobber it.
- The honest trade-off of true end-to-end encryption: if you lose your passphrase, encrypted backups and synced data cannot be recovered — by you or by us.
What we won't do
A short, non-comprehensive list.
- ·Store readable farm data on our servers. Sync and backups are ciphertext we can't decrypt — never plaintext.
- ·Train our own models on your prompts or responses.
- ·Sell de-identified records to feed-supply firms or insurers.
- ·Push notifications about features we want you to buy.
- ·Add third-party analytics SDKs that follow you around.
Want the privacy pack?
Backup-format spec, data-flow diagram, sub-processor list, and the full AI prompt-routing diagram are available on request.
Request the pack