You can see every layer.
Because you own every layer.
No black box, no vendor dashboard you rent by the message. NGINX, PHP, HyperNode, Redis, MySQL, Kannel, the SMSC: the real stack, running on your hardware, open to your inspection. When something matters at 3 a.m., you can actually look.
No black box · air-gap ready · you hold the console
Why ownership isn't just a feature
When it matters at 3 a.m., do you file a ticket, or open a shell?
Nothing leaves your walls
The system of record, the queues, the archive, the search: all on your hardware. Air-gap it if you need to. No message ever depends on someone else's uptime.
Inspect anything
SMPP on :2775, the HTTP API, PM2 workers under watch. It's your server: open a shell, read the logs, prove it to yourself.
No per-message tax
The pipeline is yours. Send a thousand or a billion: the architecture doesn't meter you, and neither does anyone else.
The whole stack, named honestly
Every box is real. Every box is on your server.
Nothing hidden, nothing rented. Name any layer, update it, inspect it: it's a component you hold, not a service you rent.
Built on tools you already trust
No proprietary black box. Familiar parts, all the way down.
Official logos drop into the tiles above: every part is a named, standard component you can look up.
Yours, down to the last word
Run it in your customers' language.
A built-in translation manager puts every phrase in the platform in your hands: search it, edit it, improve a wording, or add a whole new language. No re-deploy, no vendor ticket. The interface your resellers and their clients see speaks the way they do.
- Thousands of phrases, editable in place
- Track missing and review-needed strings per locale
- Add languages yourself, RTL included
Hold the console
It's your server. Prove it to yourself.
Open a shell and look. The SMPP server answers on :2775, the HTTP API is right there, and every worker is under watch. No dashboard stands between you and the truth of your own system.
$ pm2 list
queue-worker online
schedule-worker online
routing-worker online
mnp-lookup online
archive-worker online
$
Deploy it your way
From a single box to active-active.
You can't promise high availability on one box. So when you sell uptime to your own clients, Active-Active is a real, tested tier (both nodes live, sharing load), not a special project.
Basic
Single node. Everything on one box, perfect to start.
Active-Standby
Warm failover. A second node waits, ready to take over.
Active-Active
Both nodes live, sharing load. For operators who sell uptime SLAs to their own clients.
Custom
Sized with you, for the deployment your scale actually needs.
Workers, watched
PM2 and Supervisor keep every worker alive; monitors wire new ones in. Nothing runs unwatched.
Numbers, stated honestly
Throughput, latency and uptime are published only once measured under stated conditions. No invented figures.
Air-gap ready
Every layer, including the native AI, runs on your servers. Behind a DMZ, or fully off the grid.
Before you ask
Can I run this fully air-gapped?
Yes. Every layer, including the native AI, runs on your servers. Behind a DMZ or fully off the grid, the platform keeps working.
Do I get root on my own box?
It's your server. You install it, you hold the keys, you can inspect every process, log and queue. That's the point of owning it.
What about high availability?
Active-Active is a real, tested deployment tier where both nodes carry load. Choose it if you sell uptime to your own clients: you can't promise high availability on a single box.
Own the stack. Every layer. Every log. Every key.
The whole platform, on hardware you control: no black box, no per-message tax, nothing rented.