Changelog
Hiras is currently at version 1.0.0, its first release, and is in pre-release — it hasn’t been published to Google Play yet. From the public release onward, every version’s changes are recorded here. Breaking changes only ever come with a new version, never slipped into an existing one.
1.0.0 — first release
The inaugural release. Everything Hiras does today ships in this version:
The gateway
- LAN-only HTTP server on the phone, on a fixed port (
8080). - REST API:
POST /api/sms/send,GET /api/messages,GET /api/messages/:id,GET /api/stats,GET /api/host/info,GET /api/diagnostics, and an unauthenticatedGET /health. - Automatic splitting of long messages into SMS segments.
- Multi-SIM support — a default SIM plus an optional per-request
simSlot.
Security
sk_local_API key in Android Keystore-backed storage, sent as a bearer token, compared in constant time.- Local-network guard that rejects any non-private address before authentication.
- Fixed rate limits (60 segments/min, 1 req/sec) plus a per-caller burst guard, and a 16 KB request cap.
Two-way and testing
- Inbound SMS forwarded as HMAC-signed webhooks, with retries and no stored inbox.
- Dry Run and Failure Simulation — exercise the API without sending a real text or spending load.
On-device truth
- SQLite send history (newest 1,000) recording real
sent/failedoutcomes, plus durable today/month stats. Nothing is uploaded. - Live diagnostics and a one-tap JSON export of the event log — outcomes and timestamps, never message bodies.
Reliability and setup
- Foreground service that survives screen-off and swipe-away, with an optional start-after-reboot.
- First-run onboarding, QR/copy pairing, and copy-paste client examples for cURL, C#, Node.js, and Flutter.
- Detect-and-list VPN access for a private network you already run.
Next
- Getting started — set it up.
- REST API — everything in the API.