We commit to honesty about what each feature can do today. Bachao's web PWA delivers the most reliable, store-compliant subset. A future native Android/iOS build unlocks deeper background and hardware integrations — implemented behind the same APIs.
| Feature | Web (today) | Android (native) | iOS (native) | Fallback in web |
|---|---|---|---|---|
| SOS button (in-app) | Fully supported | Fully supported | Fully supported | — |
| Floating SOS / lock-screen widget | Manifest shortcut + PWA Add-to-Home | Native widget + Quick Settings tile | Lock Screen widget + Shortcuts | PWA shortcut to /sos |
| Triple-press Volume Up | Not feasible (browsers don't expose hardware keys). Proxy: Arrow Up x3. | Native via Accessibility Service | Not permitted by iOS | Use shake / triple-tap / voice in web |
| Triple-press Power | Not feasible. Proxy: Escape x3. | Native via Emergency SOS hook (OEM) | OS-level (calls 911/112) — not interceptable | Triple-tap and shake |
| Voice trigger ('bachao') | Chromium SpeechRecognition while tab is active | Native hotword via foreground service | Limited; foreground only | In-app voice mode |
| Shake to trigger | DeviceMotion (iOS prompts once) | Native sensor service | Native sensor service | — |
| Secret triple-tap | Supported | Supported | Supported | — |
| Background audio recording | Only while tab is alive (best-effort) | Foreground service required, store policies apply | Heavily restricted; only while in foreground or via VOIP/CallKit | Chunked upload every 15s while app open; Wake Lock to keep screen on |
| Background video recording | Foreground tab only | Foreground service + visible notification | Foreground only | Photo burst on SOS entry + short clips |
| Continuous GPS while screen off | Stops when tab is hidden | Foreground location service | Significant-change + background mode (battery-aware) | Last-known-location on resume + push to refresh |
| Stealth notifications | Generic title (Notifications API) | Per-channel silent + lock-screen hidden content | Hidden previews, critical alerts (entitlement) | Generic 'Bachao' titles |
| Police/112 direct integration | Not available | Not generally available without partnership | Not available | One-tap dialer to 112 + SMS escalation to contacts |
| AI distress detection (audio) | Server-side classification on uploaded chunks | On-device + server | On-device + server | Always ask 'Are you safe?' before escalating beyond direct triggers |
| Fall detection | DeviceMotion heuristic (limited) | Sensor fusion in native app | CMMotionActivity | Manual check-in prompt |
| SMS delivery to contacts | Via server-side SMS provider (Twilio/MSG91) | Same + native SMS fallback | Same + Messages share sheet fallback | Push + email + WhatsApp link |
| Offline evidence buffering | IndexedDB + background sync (Chromium) | WorkManager | BGProcessingTask (best-effort) | Retry on next foreground |
| End-to-end encryption | TLS + at-rest encryption (server) | Same + optional client-side keys | Same + optional client-side keys | Default: at-rest + signed URLs |