Cập nhật: 07/09/2026
Rowa không có tài khoản, không thu thập danh tính, không có quảng cáo và không có công cụ đo đạc nào. Mật khẩu router và khoá SSH chỉ nằm trên máy của bạn.
Một chuỗi băm 32 ký tự được tính từ định danh máy do hệ điều hành cấp
(ANDROID_ID trên Android; một UUID sinh ngẫu nhiên và cất trong
Keychain trên iOS). Giá trị gốc không bao giờ rời khỏi máy —
chỉ có chuỗi băm.
Nó dùng đúng một việc: nhớ ngày đợt dùng thử của máy này bắt đầu, để việc gỡ rồi cài lại app không thành một nút reset. Không kèm theo tên, email, vị trí hay bất cứ thứ gì khác. Bản ghi gồm mã băm và một mốc thời gian.
Xoá: mở Rowa → Cài đặt → Mở khoá đầy đủ → Xoá dữ liệu dùng thử. Bản ghi bị xoá khỏi máy chủ ngay lập tức.
Nếu bạn bật "Báo cả khi không mở app", token thông báo của máy (do Firebase Cloud Messaging cấp) được đăng ký với dịch vụ chuyển tiếp của chúng tôi, kèm mã do chính router bạn sinh ra và ngôn ngữ bạn đang chọn. Tắt lại là router huỷ khoá và mọi đăng ký cũ hết hiệu lực.
Do App Store hoặc Google Play xử lý toàn bộ. Rowa không nhìn thấy và không lưu bất kỳ thông tin thanh toán nào.
Bot là của bạn. Bạn tạo nó ở @BotFather, Telegram cấp cho bạn
một chuỗi khoá, và app chuyển chuỗi khoá ấy xuống router của bạn — nó nằm lại
trong /etc/config/rowa và không đi đâu nữa. Không qua dịch vụ
chuyển tiếp của chúng tôi, không qua máy chủ nào khác. App cũng không đọc nó về:
điều duy nhất app hỏi router là đã có khoá hay chưa. Mật khẩu Wi-Fi và mật khẩu
quản trị AdGuard vắng mặt ở trang này cũng vì cùng lý do — chúng đi thẳng từ máy
bạn xuống router bạn. Đây là một trong các tính năng nâng cao, và tính năng này
tắt sẵn cho tới khi bạn bật.
Nhưng cảnh báo thì rời khỏi nhà bạn thật — không rời khỏi máy, mà
rời khỏi router. Khi router thấy điều gì đó, chính router gọi
api.telegram.org — không phải app, không phải máy chủ của chúng
tôi. Từ giây phút ấy, nội dung cảnh báo nằm trong tay Telegram, theo chính sách
của Telegram, và Telegram nhìn thấy địa chỉ IP mà router bạn đang dùng để ra
Internet.
Tin nhắn mang tên bạn đặt cho router, rồi tuỳ loại cảnh báo: tên và địa chỉ MAC của thiết bị lạ vừa vào mạng, tên cảm biến nhiệt độ, phần trăm RAM, dung lượng ổ, mức pin. Báo lỗi che những thứ ấy đi; cảnh báo Telegram thì không — che đi là cảnh báo hết nghĩa. Nói "không có gì mới rời khỏi máy" thì đúng chữ mà lừa người đọc: đưa đúng những chữ ấy sang Telegram là toàn bộ việc tính năng này làm.
Câu trả lời của bot cho các lệnh nói ở dưới cũng đi cùng đường ấy và mang thêm: số giờ router đã chạy, phần trăm CPU và RAM, số thiết bị đang nối và số đang bị chặn, dung lượng đã dùng hôm nay và tháng này, tên nhà mạng cùng các chỉ số sóng của SIM, và mã xác nhận sáu chữ số khi bạn ra lệnh khởi động lại. Không có địa chỉ MAC và không có tên thiết bị trong nhóm ấy — bot trả về con số, không trả về danh sách.
Có một lượt đi ngược lại. Lúc bạn bấm tìm cuộc trò chuyện, router hỏi Telegram xem bot của bạn đã được nhắn từ đâu, và lấy đúng ba thứ: mã cuộc trò chuyện, tên cuộc trò chuyện — đó là tên hoặc @username Telegram của người ấy — và loại cuộc trò chuyện. Chỉ chat riêng hiện ra để chọn: nhóm và kênh bị loại ngay trên router. Bạn cũng dán thẳng được mã của một chat riêng, không cần lượt hỏi này. Tên bạn chọn được lưu trong cấu hình router, để app hiện lại cho bạn biết cảnh báo đang gửi đi đâu. Dù bật gì đi nữa, Rowa cũng không duyệt được hội thoại của bạn — Telegram chỉ trả về những tin gửi cho chính con bot ấy — và chỉ gửi được vào đúng cuộc trò chuyện mà bot của bạn đã có mặt.
Và có một chiều thứ hai, và nó KHÔNG phải một tuỳ chọn: bot cũng nhận lệnh. Dựng xong Telegram là router thôi chỉ nói và bắt đầu nghe — không có công tắc riêng cho nửa ấy, và bản trước của trang này thì có. Chúng tôi bỏ nó ngày 09/09/2026: một câu hỏi "bạn có muốn bot chậm và câm không" thì không có câu trả lời hay, còn một công tắc thừa thì chỉ dời trách nhiệm sang người đọc. Muốn router thôi nghe thì tắt Telegram — đó là đường dừng, và nó dừng cả hai chiều cùng lúc.
Bản trước của trang này viết rằng "router không đọc, không lưu và không hiển thị nội dung của bất kỳ tin nhắn nào". Câu ấy đúng cho tới khi kênh lệnh ra đời, và giữ nguyên nó thì không còn là mô tả nữa. Đây là thứ thay thế nó.
Router giữ một kết nối mở tới Telegram và đợi ở đó; có ai nhắn cho bot là
Telegram trả lời ngay, không thì nó đóng lại sau năm mươi giây rồi mở lượt
mới. Thân câu trả lời mang nguyên văn mọi tin nhắn gửi cho bot
của bạn trong hai mươi tư giờ qua. Nó đi qua bộ nhớ tạm của router rồi
biến mất khi lượt hỏi kết thúc: không ghi xuống đĩa, không đi tiếp đâu cả, không
về app và không về máy chủ nào của chúng tôi. Từ thân ấy router lấy đúng hai
thứ. Một: mã, tên và loại của mọi chat riêng đã nhắn cho bot — một danh
sách tối đa mười dòng, nằm trong bộ nhớ tạm, chính là danh sách bạn thấy khi
chọn nơi nhận; nhóm và kênh không được ghi vào đó. Hai: nội dung tin
nhắn — nhưng chỉ của đúng cuộc trò chuyện bạn đã chọn, chỉ với tin gửi sau lúc router bắt đầu nghe và trong
khoảng một lượt hỏi trở lại, và tin nào không mở đầu bằng dấu / thì
bị bỏ trước khi router rút thêm bất cứ gì từ nó. Router khởi động lại là mốc
"bắt đầu nghe" được đặt lại, và chọn một nơi nhận khác cũng thế — nên một lệnh
gửi từ trước đó không bao giờ chạy.
Nói cho gọn: router có đọc phần đầu của những tin nhắn gửi cho bot của bạn — một cái lệnh thì phải đọc mới chạy được. Thứ nó không làm là giữ lại, hiện ra, hay gửi đi đâu. Nhật ký router ghi đúng một dòng, và chỉ khi có lệnh khởi động lại: rằng đã có một lệnh khởi động lại. Không tham số, không nội dung tin.
Hai điều nữa phải nói ra. Thứ nhất, nó tốn dữ liệu của router — đo được khoảng 8 KB mỗi lượt hỏi, và router giữ mỗi lượt mở tới năm mươi giây để đợi tin, nên lúc không ai nhắn gì thì hết khoảng 14 MB mỗi ngày. Con số ấy nằm ngay dưới thẻ nơi nhận trong app, và bot cũng nhắn nó cho bạn một lần lúc dựng xong. Ngày nào bạn gõ nhiều thì tốn thêm, tỉ lệ với số lệnh bạn gõ.
Không có ô chọn nhịp và không có công tắc riêng cho phần nghe lệnh: giữ kết nối mở vừa trả lời nhanh hơn vừa tốn ít hơn mọi cách hỏi theo nhịp, nên không còn gì để chọn. Trên một router chạy SIM tính tiền theo dung lượng thì đó là con số thật, và tắt hẳn Telegram là đường dừng, ở đúng màn hình ấy. Thứ hai, bot chỉ nhận lệnh trong chat riêng, và lệnh khởi động lại còn phải xác nhận bằng một mã sáu chữ số hạn sáu mươi giây. Thứ router nhận ra là cuộc trò chuyện chứ không phải con người — trong một nhóm thì mọi thành viên đều gửi lệnh được, kể cả người vừa được ai đó thêm vào — nên nhóm bị loại khỏi cả nơi nhận lẫn nơi nghe lệnh. Menu lệnh của bot cũng chỉ đăng cho chat riêng, để nó không chồng vào danh sách lệnh của những con bot khác trong một nhóm.
Tắt: Rowa → Cài đặt → Bot Telegram → Tắt Telegram. Router xoá chuỗi khoá và nơi nhận, nên cả hai chiều dừng cùng lúc; sau đó trên router không còn gì để gọi Telegram nữa. Chỉ muốn im cảnh báo mà giữ cấu hình thì dùng công tắc ở Thông báo. Những tin đã gửi vẫn nằm trong Telegram — Rowa không xoá được chúng.
Rowa không liên kết với Telegram và không được Telegram bảo trợ. Telegram là thương hiệu của chủ sở hữu tương ứng.
Màn hình Báo lỗi soạn sẵn một bản chẩn đoán và cho bạn xem trước toàn bộ. Gửi cho ai là bạn chọn — qua ứng dụng nhắn tin của bạn, hoặc chép ra. App không tải nó lên máy chủ nào.
Bản chẩn đoán còn tự che tên Wi-Fi, tên thiết bị, địa chỉ MAC, địa chỉ IP và số điện thoại trước khi hiển thị.
Không quảng cáo. Không công cụ phân tích hành vi. Không theo dõi giữa các app. Không thu thập vị trí. Chúng tôi không chia sẻ hay bán dữ liệu của bạn cho bên thứ ba, và app Rowa không gửi gì sang Telegram — nếu bạn bật Telegram thì bên gửi là chính router của bạn, đi thẳng tới Telegram, không qua app và không qua máy chủ của chúng tôi. Router cũng đọc lệnh bạn nhắn cho bot — vẫn đi thẳng, vẫn không qua chúng tôi. Xem mục 4.