When a child triggers an alert, the wearable fans it out over four independent channels simultaneously. The bridge deduplicates within a 60-second window so the parent sees only one notification. If any single channel works, the alert lands. যখন কোনো শিশু অ্যালার্ট চালু করে, যন্ত্রটি একই সাথে চারটি স্বাধীন পথে সেটি পাঠায়। ব্রিজ ৬০ সেকেন্ডে dedupe করে — অভিভাবক একটিই নোটিফিকেশন দেখেন। যেকোনো একটি পথ কাজ করলেই অ্যালার্ট পৌঁছায়।
The animated flowচলমান প্রবাহDirect radio between the wearable and the parent's paired phone. No internet needed. No tower. Useful at home, in the car, in the school car park. End-to-end encrypted via X25519 sealed box.যন্ত্র ও paired ফোনের মধ্যে সরাসরি রেডিও। ইন্টারনেট লাগে না। টাওয়ার লাগে না। বাড়ি, গাড়ি, স্কুলের সামনে কাজে আসে।
The wearable's nRF9160 modem publishes the signed envelope to the bridge's Mosquitto over MQTT-TLS. Bridge verifies signature, writes audit row, forwards to the Worker, lands on the family's WebSocket. The default path when the phone is far away.যন্ত্রের nRF9160 মডেম signed envelope পাঠায় ব্রিজের Mosquitto-তে MQTT-TLS দিয়ে। যাচাই → audit লেখা → Worker-এ ফরোয়ার্ড → পরিবারের WebSocket-এ লন্ড। ফোন দূরে থাকলে এটাই default।
If the parent's app was killed, the Worker fires a content-less FCM wake — only the alert_id + tier ever leaves the platform. App opens, reconnects WS, pulls the queued alert. Google never sees content.অভিভাবকের অ্যাপ যদি বন্ধ থাকে, Worker একটা content-less FCM wake পাঠায় — শুধু alert_id + tier যায়। অ্যাপ খোলে, WS-এ আবার connect করে, queued alert নেয়। Google কোনো content দেখে না।
If WS + push both fail (true cellular outage), bridge falls back to SMS to the family's trusted contacts. Body carries only "tier 2 · alert-id" — NEVER the ciphertext or any plaintext content.WS + push দুটোই ব্যর্থ হলে (সত্যিকার outage), ব্রিজ পরিবারের বিশ্বস্ত যোগাযোগের কাছে SMS পাঠায়। বডিতে শুধু "tier 2 · alert-id" — কখনই ciphertext বা content নয়।
| Fieldক্ষেত্র | Treatmentআচরণ |
|---|---|
alert_id | Random UUID. Bridge dedupes within 60 s window — same id arriving from BLE + LTE simultaneously is recorded once.র্যান্ডম UUID। ৬০ সেকেন্ডে dedupe। BLE + LTE থেকে একই id এলে একবার গণনা। |
device_id | Opaque string. Routes the alert; never personally identifies the child.অস্পষ্ট string। অ্যালার্ট route করে; শিশুকে identify করে না। |
tier (1-4) | Escalation severity. T2 = parent notify; T3 = parent + trusted adults; T4 = full ring (in original design).escalation স্তর। T2 = অভিভাবক; T3 = অভিভাবক + বিশ্বস্ত adults; T4 = পূর্ণ বলয় (মূল ডিজাইনে)। |
ciphertext_b64 | X25519-sealed-box to the parent's public key. ONLY the parent's phone can decrypt. Bridge never opens it.X25519-sealed-box অভিভাবকের public key-এর জন্য। শুধু অভিভাবকের ফোনই খুলতে পারে। ব্রিজ কখনো খোলে না। |
signature_b64 | Ed25519 signature over (device_id | alert_id | tier | sha256(ciphertext)). Bad sig → bridge drops.Ed25519 signature over (device_id | alert_id | tier | sha256(ciphertext))। ভুল হলে ব্রিজ drop করে। |
occurred_at | UTC ISO timestamp. For audit ordering.UTC ISO timestamp। audit ordering-এর জন্য। |
| — what's NEVER carried — | Child's name, exact location, microphone audio, photos, contact list, any free-text. The ciphertext payload carries only: trigger kind, device-local timestamp, optionally last GPS the phone already has.শিশুর নাম, সঠিক অবস্থান, মাইকের অডিও, ছবি, contact list, কোনো free-text। ciphertext payload-এ থাকে শুধু: trigger kind, device-local timestamp, optional last GPS। |