🔒 End-to-end encrypted

The family messenger
built like a vault.

Self-hosted, open-source, and designed from the ground up to protect children — not as an afterthought, but as the entire point.

glustic-family — install.sh
$ curl -fsSL https://install.glustic.com | bash
 
Detected: linux/amd64 · Docker 26.1 · 4 vCPU · 8 GB RAM
Generating Curve25519 keypairs…
PASETO signing key generated
Database migrations applied (8 steps)
TLS certificate issued for family.yourdomain.com
 
Glustic Family is live at https://family.yourdomain.com
$
🔐 Curve25519 key exchange
🛡 AES-256-GCM at rest
🪙 PASETO tokens (not JWT)
🏠 Fully self-hosted
📡 Works offline (LoRa)
⚖️ MIT licensed

The app

Beautiful on every device

Parent dashboard, kid chat space, and secure login — all in one native app for iOS and Android.

9:41●●● 100%
Parent login
9:41●●● 100%
J
Good morning
Johnson Family
2
Children
1
Families
👶 Children
+ Add
🐱
Emma
8y Cubs
🐶
Oliver
6y Cubs
🤝 Families
+ Connect
S
Smith Family
Michael Smith
● Connected
Parent dashboard
9:41●●● 100%
🐱
Emma
🟢 Connected
📞 📹
🐶
Oliver
Hey wanna play Roblox? 🎮
YES!! Coming on now 🚀
🐶
meet me in bloxburg! 🏠
❤️ 1
🐶
Say something nice…
Kid chat space

Get started

Four ways to run Glustic Family

Whether you want us to walk you through a $5/month cloud server, ship you a pre-built box, or flash your own ESP32 — you get the same private, encrypted experience.

☁️
Cloud VPS

Run in the cloud — always on, accessible from anywhere. We'll pick the fastest server near you and walk you through every step.

What you need
A VPS account — Hetzner, DigitalOcean, or Vultr (~$5–8/month)
A domain name (~$12/yr) — we help you pick and point it
Our VPS advisor scans 50+ data centers and recommends the fastest option near your family
One installer command — handles Docker, TLS, secrets, everything
About 10 minutes start to finish
☁️ ~$5–8/month · no upfront hardware cost
We'll walk you through it →
🖥️
Windows PC

Turn any Windows 10/11 machine into your family's private server. Runs quietly in the background.

What you need
Windows 10 or 11 (64-bit)
4 GB RAM, 10 GB free disk
Docker Desktop installed (free)
A domain you control (~$12/yr)
PC stays on when family is chatting
💸 Free — use hardware you already own
Download for Windows →
📡
Glustic Link

The off-grid radio. No WiFi, no cell signal, no problem. Drop it in your kid's bag and they can always reach you.

What you need
Nothing pre-installed — firmware is on the device
Pair to your Home Hub via BLE in the app
LoRa 915 MHz · up to 10 km range
3,000 mAh battery · charges via USB-C
Works alongside Windows or Home Hub
📡 $49 each · $89 for a 2-pack
Join waitlist →
Feature ☁️ Cloud VPS 🖥️ Windows 🏠 Home Hub 📡 Glustic Link
Runs the server
Always-on 24/7 PC must stay on
Works offline ✅ LoRa
Guided setup ✅ We help ✅ QR code ✅ BLE app
Setup time ~10 min ~10 min ~2 min ~1 min
Cost $5–8/mo Free $149 $49
DIY option Any VPS Pi 5 + SD Heltec V3 ~$22
The safety model

"No two children can communicate until both of their parents have verified their identity and completed a Curve25519 key exchange. This is enforced at the database schema level — not in application logic."

There is no bypass. There is no admin override. It's a foreign key constraint.

How it works

Three steps to a safe space

Every family must complete all three stages before any child can send a single message.

01
🪪
Parents verify first

Email + optional phone OTP verification. No anonymous adult accounts — ever. Identity is proven before any access is granted.

02
🔐
Key exchange, out of band

Curve25519 Diffie-Hellman key exchange. Both parents compare a shared hash out of band to confirm the connection is genuine — not intercepted.

03
🛡
Kids get their safe space

Age-gated rooms, content filtered at send time, parent visibility baked in. Not added on top. The schema enforces every rule.

Age tiers

Hardcoded. Not configurable.

Parents cannot expand what their children are allowed to do. Changing tier behavior requires a code change, a pull request, and a review.

🌱
Tiny Tots
Ages 3–5
  • No messages or chat
  • No video or voice
  • No external links
  • Arts & Entertainment only
30 min / day
🐻
Cubs
Ages 6–8
  • Group chat (no DMs)
  • Parent sees all, real-time
  • Video: parent in room
  • No external links
60 min / day
🧭
Explorers
Ages 9–11
  • DM + group chat
  • Video: parent for new contacts
  • Hourly flag digest
  • No external links
120 min / day
🚀
Pioneers
Ages 12–13
  • Full chat
  • Approved links only
  • 4-hour flag digest
  • Moderate filter
180 min / day
Pathfinders
Ages 14–17
  • Full features
  • Light content filter
  • Parent digest opt-in
  • No daily time cap
120 min / session

Built different

Security isn't a feature.
It's the architecture.

🔐
Curve25519 key exchange

Every parent-to-parent connection requires a full Diffie-Hellman key exchange. The shared hash is verified out of band — QR code or voice confirmation. No MITM possible.

🛡
Content filter at send time

Messages are filtered synchronously before they're committed to the database. Grooming patterns, contact sharing, age-inappropriate content — blocked, not retroactively flagged.

🪙
PASETO tokens, not JWT

PASETO v4 symmetric tokens eliminate the "algorithm confusion" attacks that plague JWT. Session keys are rotated. Tokens expire. Kids and parents have separate, scoped tokens.

📊
Parent moderation digest

Every flagged message is queued and delivered on the schedule defined by the child's tier — real-time for Cubs, hourly for Explorers, 4-hour for Pioneers. Opt-in for Pathfinders.

🏠
Your server, your data

No telemetry. No analytics. No third-party SDKs phoning home. Glustic runs entirely on your hardware. Your family's data never leaves your server.

🔒
AES-256-GCM in the app

The mobile app encrypts all stored tokens and session data with AES-256-GCM before writing to the device keychain. The in-memory key is non-extractable and wiped on background.

Glustic Link

Works without the internet.

LoRa mesh support means your kids can still reach you when the power's out, the WiFi's down, or you're somewhere off the grid.

📡 LoRa 915 MHz 🔷 BLE provisioning ⚡ Meshtastic compatible
Heltec V3 OLED · 128×64 white
BOOT
GLUSTIC LINK
firmware v1.2.0
[▓▓▓▓▓▓▓░░]
78% · loading…
ONLINE
GsfLink-A4F2
● MESH ACTIVE
↑ 2 peers · 915MHz
RSSI: -87 dBm
MESSAGE
▶ NEW MSG
from: Dad's Hub
"home in 5 mins
be ready! 🏠"
SETUP
BLE ACTIVE
GsfLink-A4F2
scan QR in app
ready
█▀▀▀▀█
█ ▄▀ █
█ █▄ █
█▄▄▄▄█
↑ actual display output from the Heltec WiFi LoRa 32 V3 board

Cryptography

The full security spec

Key exchange
Curve25519 / X25519
Elliptic-curve Diffie-Hellman
Private key storage
AES-256-GCM
Encrypted at rest, nonce-prefixed
Session tokens
PASETO v4
Symmetric, algorithm-safe
Password hashing
bcrypt (cost 10)
Adaptive cost factor
OTP generation
Rejection sampling
No modulo bias
App vault
AES-256-GCM
Non-extractable CryptoKey
Key storage (iOS)
Keychain Services
Hardware-backed
Key storage (Android)
Android Keystore
StrongBox TEE
Transport
TLS 1.3
HSTS + CSP enforced by Caddy
Rate limiting
10 req/min (auth)
Per-IP, Redis-backed
OTP comparison
Constant-time
crypto/subtle.ConstantTimeCompare
CORS / CSP
Strict
Helmet + Caddy headers

Self-host

One command to get started

Runs on any Linux VPS, Raspberry Pi, or home server. Requires Docker. Handles TLS, migrations, and key generation automatically.

bash — requires Docker 20+
$ curl -fsSL https://install.glustic.com | bash
🐳 Docker 20+
💾 1 GB RAM minimum
🌐 A domain you control
📧 SMTP credentials

Mobile

Native iOS & Android apps

The apps discover your self-hosted server automatically from your email domain. AES-256-GCM vault, biometric unlock, push notifications, LoRa device provisioning via BLE.

Ready-to-run hardware

Plug in. Scan QR. Done.

Don't want to wrestle with Docker and DNS? We ship pre-built kits with everything configured — just power them on.

🖥️
Coming soon
$149 USD
free shipping · US & CA
Glustic Home Hub

Your family's private server — pre-loaded, pre-configured, and ready to run the moment you plug it in.

Raspberry Pi 5 (4 GB) — quad-core Cortex-A76, 4 GB LPDDR4X
💾 64 GB A2 microSD — Glustic server, Postgres, Redis, Caddy pre-installed
🌡️ Official Pi 5 case with active cooler — stays quiet, runs 24/7
🔌 USB-C 27W PSU included — just plug into your router and power strip
🔐 Keys generated on first boot — unique Curve25519 keypair, PASETO key, bcrypt salt. Never shared with us.
📱 QR setup in 2 minutes — scan with the Glustic app, enter your domain, done
What's in the box
Raspberry Pi 5 (4 GB) 64 GB pre-flashed SD card Official Pi 5 case + fan 27W USB-C power supply Ethernet cable (1m) Quick-start card
Join the waitlist →
Glustic Link

The off-grid radio. Drop one in your kid's bag — they can reach you even when WiFi and cellular are gone.

📻 Heltec V3 (ESP32-S3 + SX1262) — LoRa 915 MHz, up to 10 km line of sight
🔋 3,000 mAh 18650 cell — 3–5 days standby, charges via USB-C
🧱 3D-printed rugged case — drop-tested, belt-clip and lanyard hole
Pre-flashed Glustic firmware — no Arduino IDE, no drivers, no setup
🔷 BLE provisioning — pair to your Home Hub via the Glustic app in seconds
🌐 Meshtastic compatible — works with any existing Meshtastic mesh
What's in the box
Heltec V3 board 3D-printed case 3,000 mAh 18650 cell USB-C charging cable 915 MHz antenna Lanyard + clip
Join the waitlist →
⏱️
10 minutes to live
Plug in the Hub, scan the QR code from the app, enter your domain. That's it. No SSH, no Docker, no YAML files.
🔑
Keys generated on-device
Every Hub generates its own cryptographic keys on first boot. We never see them. There's nothing to intercept in transit.
🔄
OTA firmware updates
The Hub pulls signed updates automatically. The Link device can be re-flashed from the app over BLE — no cables needed.
🛠️
Still 100% open source
Everything running on the hardware is the same code in this repo. Build it yourself from scratch if you prefer — we publish the exact BOM.

Get notified when hardware ships

We'll email you when pre-orders open. No spam — one email, that's it.

FAQ

Questions

No. The filter level is derived from the child's age tier, which is hardcoded in the server binary. Parents cannot configure it. Changing what a tier allows requires a code change, a pull request, and a review — by design.
The message is blocked before it reaches the recipient. It is never delivered and then retroactively removed. The content filter runs synchronously before any message is committed to the database. If the tier calls for parent notification, the flag is queued for delivery on the tier's schedule.
No. Glustic Family is self-hosted software. Your server, your database, your keys. There is no cloud component, no telemetry, and no analytics. The project maintainers have zero visibility into your instance.
When two parents connect, both sides perform a Diffie-Hellman key exchange. The resulting shared secret is hashed, and both parents see the same hash — which they verify out of band (show each other on screen, say it aloud, etc). If an attacker intercepted the connection and substituted their own key, the hashes wouldn't match. The connection is rejected.
Yes, with Glustic Link. Heltec V3 LoRa devices can be provisioned via Bluetooth from the mobile app and used to send messages over LoRa mesh when WiFi or cellular is unavailable. The off-grid mode supports both direct Meshtastic connections and ChirpStack LoRaWAN infrastructure.

The server, database schema, and cryptography are production-grade. The content filter interface is stable — swapping in a real classifier does not require changes to the messaging service. Three things to wire in before going live:

1. Toxicity / profanity classifier

  • Detoxify — self-hosted Python model, privacy-preserving, no data leaves your server. Setup guide in SAFETY_MODEL.md →
  • Azure AI Content Safety (formerly Content Moderator) — managed API, SOC 2 compliant, EU data residency available. Set AZURE_CONTENT_SAFETY_KEY + AZURE_CONTENT_SAFETY_ENDPOINT in your .env.
  • Perspective API (Google Jigsaw) — free tier, excellent for comment-style text. Set PERSPECTIVE_API_KEY. Hook already exists in internal/content/perspective.go.

2. CSAM detection (required before any public deployment)

3. Term list review

The placeholder term lists in internal/content/filter.go are illustrative only. Have a child-safety specialist review and expand them quarterly — or replace with one of the classifiers above.