Làng Game Việtnet.x359258.langgameviet

Chính sách quyền riêng tư

Ứng dụng: Làng Game Việt

Mã gói / Bundle ID: net.x359258.langgameviet

Phiên bản áp dụng: 1.0.0 (build 1) trở đi

Ngày hiệu lực: 27/08/2026

Cập nhật lần cuối: 27/08/2026

Người chịu trách nhiệm: Nguyen Pham

Liên hệ: [email protected]

1. Nói ngắn gọn

Làng Game Việt là app chơi mấy trò dân gian với người ngồi ngay cạnh bạn: Ô ăn quan, Cờ caro, Cờ gánh, Cá ngựa, Tam cúc, Tiến lên, Cờ tướng. Muốn chơi cùng nhau thì các máy phải ở chung một mạng WiFi. Một máy đứng ra làm chủ phòng, các máy còn lại nối thẳng vào máy đó.

Chúng tôi không dựng máy chủ nào cả. Không có tài khoản, không đăng nhập, không quảng cáo, không mua trong ứng dụng, không có bộ phân tích hành vi, không có bộ theo dõi nào nhét trong app. Ván cờ của bạn đi từ máy này sang máy kia trong nhà bạn rồi thôi — nó không đi qua chỗ chúng tôi, vì chúng tôi không có chỗ nào để nó đi qua.

Nói theo cách kho ứng dụng hay dùng: chúng tôi không thu thập dữ liệu người dùng. Nhưng "không thu thập" không có nghĩa là "không có gì xảy ra trên máy bạn", nên phần dưới đây kể đúng từng thứ một.

2. Ai chịu trách nhiệm về chính sách này

Ứng dụng do Nguyen Pham phát hành. Mọi câu hỏi về quyền riêng tư, xin gửi về [email protected]. Chúng tôi cố gắng trả lời trong vòng 30 ngày.

3. Những gì chúng tôi KHÔNG làm

Để khỏi phải đọc dài, đây là danh sách những thứ app này không có:

4. Những gì THỰC SỰ xảy ra khi bạn chơi

Phần này là phần quan trọng nhất. Chúng tôi kể đúng từng thứ, kể cả những thứ nghe rất nhỏ.

4.1. Biệt danh bạn đặt

Lần đầu mở app, máy tự đặt cho bạn một biệt danh vui vui (kiểu "Mèo Lém", "Cò Nhanh"). Bạn chạm vào để đổi thành gì cũng được, tối đa 20 ký tự. Biệt danh này:

Vì biệt danh do bạn tự gõ, bạn hoàn toàn quyết định nó nói gì về mình. Chúng tôi khuyên đặt biệt danh, đừng gõ họ tên đầy đủ, nhất là với máy của trẻ con. Đổi lúc nào cũng được, ngay ở màn hình chính.

4.2. Mã người chơi sinh ngẫu nhiên trên máy

Lần đầu mở app, máy tự sinh một chuỗi 16 ký tự ngẫu nhiên (kiểu k3f9a2m0z1x7c5b8) và cất vào máy. Chuỗi này chỉ dùng vào một việc: nhận ra "vẫn là người vừa nãy" khi bạn rớt mạng giữa ván rồi vào lại, để bạn ngồi đúng ghế cũ thay vì bị coi là người mới và bị chặn ở cửa vì phòng đã đủ người.

Về chuỗi này:

Chúng tôi không nhận được chuỗi này, không lưu nó ở đâu ngoài máy bạn, và không dùng nó để theo dõi bất cứ điều gì.

4.3. Địa chỉ IP nội bộ và tên phòng trên mạng nhà

Khi bạn bấm Tạo phòng, app mở một cổng mạng trên máy bạn và rao lên mạng WiFi đang dùng một mẩu tin để bạn bè dò thấy. Mẩu tin ấy gồm:

Kèm theo đó, hệ điều hành tự rao địa chỉ IP nội bộ (kiểu 192.168.1.7) và tên máy của bạn (kiểu iPhone-cua-Binh.local). Tên máy do hệ điều hành đặt, app không sửa. Riêng địa chỉ IP nội bộ thì app có đọc — nó hỏi hệ điều hành địa chỉ IPv4 của máy rồi hiện lên màn hình phòng, để ai không quét được mã QR thì gõ tay địa chỉ ấy mà vào. Hiện lên màn hình là hết; app không lưu lại và không gửi đi đâu.

Điều đó có nghĩa là: trong lúc phòng đang mở, mọi thiết bị nối cùng WiFi đều có thể thấy tên phòng — tức là thấy biệt danh bạn đặt — kể cả người không vào chơi. Đây là cách duy nhất để "tìm phòng quanh đây" hoạt động được. Đóng phòng là app ngừng rao ngay.

Địa chỉ IP nội bộ này là địa chỉ trong mạng nhà bạn, không phải địa chỉ IP công cộng, và nó chỉ thấy được từ trong mạng ấy. Nó không đi ra Internet và chúng tôi không nhìn thấy nó.

Còn khi bạn vào phòng người khác, máy bạn hiện ra với máy chủ phòng bằng đúng những gì mọi kết nối mạng đều để lộ: địa chỉ IP nội bộ và cổng. Cộng thêm biệt danh và mã người chơi ở hai mục trên.

4.4. Mã QR

Chủ phòng có thể hiện một mã QR để bạn bè quét cho nhanh. Mã ấy chứa địa chỉ IP nội bộ, cổng, tên phòng và mã trò — đúng những thứ đã rao trên WiFi, không hơn. Nếu tên phòng có tên thật của bạn thì đừng đăng ảnh chụp mã QR đó lên mạng xã hội; dù sao địa chỉ trong đó cũng chỉ dùng được bởi người đang ở trong mạng nhà bạn.

4.5. Camera

App xin quyền camera chỉ để quét mã QR vào phòng. Camera chỉ bật đúng lúc bạn tự mở màn hình quét, và tắt ngay khi bạn thoát khỏi màn hình đó.

4.6. Âm thanh

App có nút bật/tắt tiếng. Lựa chọn ấy được nhớ trên máy bạn. App chỉ phát tiếng, các tệp tiếng nằm sẵn trong app; app không thu tiếng và không xin quyền micro.

4.7. Chơi một mình với máy

Chọn "Chơi với máy" thì không có mạng nào tham gia cả. Không mở cổng, không rao lên WiFi, không nối vào đâu. Máy tính nước đi ngay trên điện thoại của bạn.

4.8. Nội dung ván chơi

Trạng thái ván — bàn cờ, quân bài, xúc xắc, điểm — chỉ đi giữa các máy trong phòng. Ván chơi không được ghi lại: đóng app là trạng thái ván biến mất, app không lưu lịch sử ván, không lưu bảng điểm, không ghi tệp nhật ký nào lên máy.

Có một thứ nhỏ nên kể cho đủ: lúc chạy, app in vài dòng kỹ thuật ra nhật ký chung của hệ điều hành (kiểu "đang lắng nghe tại 192.168.1.7:52345") để tiện dò lỗi. Những dòng ấy không thành tệp riêng của app, không gửi đi đâu, và nằm trong nhật ký hệ thống của máy bạn theo cách hệ điều hành tự quản.

Riêng với Tam cúcTiến lên, máy chủ phòng lọc trạng thái trước khi gửi cho từng người: bài trên tay người khác không hề đi qua đường truyền, chứ không phải gửi hết rồi che ở giao diện. Số lá còn lại thì vẫn gửi, vì đó là thứ ai ngồi cùng bàn cũng đếm được.

5. Dữ liệu lưu trên máy bạn

App lưu đúng bốn mẩu dữ liệu, bằng kho cài đặt tiêu chuẩn của hệ điều hành (shared_preferences — tức UserDefaults trên iOS/macOS và SharedPreferences trên Android). Cả bốn nằm trong vùng riêng của app trên máy bạn và không mẩu nào tới tay chúng tôi hay một bên thứ ba nào — chúng tôi không có máy chủ để nhận. Hai trong bốn mẩu có đi sang máy của người chơi cùng khi bạn vào phòng; cột cuối trong bảng ghi rõ mẩu nào.

Mẩu dữ liệuLà gìVì sao cầnRời khỏi máy không
player_nameBiệt danh bạn đặtHiện tên bạn trong phòngCó — gửi cho các máy trong phòng, và hiện trong tên phòng khi rao trên WiFi
player_idChuỗi 16 ký tự ngẫu nhiênVào lại đúng ghế cũ sau khi rớt mạngCó — gửi cho đúng máy chủ phòng bạn vào
sound_onBật hay tắt tiếngNhớ lựa chọn của bạnKhông
manual_sowỞ Ô ăn quan, tự rải sỏi hay để máy rảiNhớ lựa chọn của bạnKhông

Ngoài bốn mẩu này, app không lưu gì khác lên máy.

Về bản sao lưu của máy. Kho cài đặt nói trên được hệ điều hành đưa vào bản sao lưu thiết bị theo mặc định — iCloud hoặc sao lưu qua máy tính trên iPhone, sao lưu Google trên Android. Nghĩa là biệt danh, mã người chơi và lựa chọn tiếng có thể theo bản sao lưu lên tài khoản iCloud hoặc tài khoản Google của chính bạn, rồi quay về khi bạn đổi máy hoặc cài lại app. Chuyện ấy nằm giữa bạn với Apple hoặc Google, theo chính sách sao lưu của họ; chúng tôi không chạm vào và cũng không nhìn thấy. Không muốn thì tắt sao lưu cho riêng app này trong phần cài đặt sao lưu của máy.

6. Quyền ứng dụng xin, và xin để làm gì

Trên iPhone / iPad

QuyềnDùng để làm gì
Mạng nội bộ (Local Network)Tìm phòng của bạn bè trên cùng WiFi và nối vào. iOS hỏi bạn một lần, ngay lần đầu app cần tới mạng nhà. Từ chối thì iOS chặn mọi liên lạc với máy khác trong mạng — cả ba đường vào phòng đều tắc, kể cả gõ tay địa chỉ. Bạn vẫn chơi với máy được như thường; muốn chơi cùng bạn bè thì bật lại ở Cài đặt → Làng Game Việt → Mạng nội bộ.
CameraChỉ để quét mã QR vào phòng. Xem mục 4.5.

App có khai dịch vụ Bonjour tên _langviet._tcp — đó là "kênh" riêng để app tìm đúng phòng của app này, không dùng để nghe ngóng thiết bị khác trong nhà.

Trên Android

QuyềnDùng để làm gì
INTERNETAndroid bắt buộc phải khai quyền này thì app mới mở được kết nối mạng, kể cả kết nối chỉ trong nhà. App không nối ra Internet, chỉ nối tới máy chủ phòng trong mạng nhà. Đây là quyền thường, máy không hỏi bạn.
ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, CHANGE_WIFI_MULTICAST_STATECần để dò và rao phòng trên mạng nội bộ. Quyền thường, máy không hỏi.
NEARBY_WIFI_DEVICESTừ Android 13 trở lên, đây là quyền để dò thiết bị quanh đây. App khai kèm cờ neverForLocation, nghĩa là cam kết với hệ điều hành rằng không dùng nó để suy ra vị trí của bạn.
ACCESS_FINE_LOCATION (chỉ tới Android 12)Các bản Android cũ đòi quyền vị trí thì mới cho quét mạng nội bộ. App không đọc toạ độ của bạn, không có mã nào lấy vị trí; quyền này chỉ để hệ điều hành cho phép dò phòng. Từ Android 13 trở lên quyền này không còn được khai nữa.
CameraChỉ để quét mã QR vào phòng. Xem mục 4.5.

7. Thư viện bên thứ ba

App dùng vài thư viện mã nguồn mở để làm việc kỹ thuật. Không thư viện nào trong số này gửi dữ liệu ván chơi hay dữ liệu cá nhân của bạn đi đâu, và không có bộ quảng cáo hay bộ phân tích hành vi nào. Một ngoại lệ duy nhất về đường truyền ra ngoài đã nêu ở mục 3 và ghi lại ở dòng cuối bảng:

Thư việnLàm gì trong app
bonsoirRao và dò phòng qua Bonjour (iOS/macOS) và NSD (Android). Chỉ chạy trong mạng nội bộ.
shared_preferencesLưu bốn mẩu dữ liệu ở mục 5 vào kho cài đặt của máy.
qr_flutterVẽ mã QR của phòng lên màn hình chủ phòng. Vẽ tại chỗ, không gọi dịch vụ nào.
mobile_scannerĐọc mã QR bằng camera. Giải mã ngay trên máy. Trên Android nó dùng ML Kit của Google, trên iOS dùng Vision của Apple — xem dòng dưới.
Google ML Kit Barcode Scanning<br>(chỉ có trên Android)mobile_scanner kéo theo bộ này, cùng vài thành phần Google Play Services và Firebase. Mô hình nhận dạng đóng sẵn trong app nên ảnh camera không rời khỏi máy, nhưng các thành phần ấy có thể tự gửi số liệu chẩn đoán về Google. Bản iOS không có thành phần Google nào.
audioplayersPhát các tệp tiếng có sẵn trong app.
cupertino_iconsBộ hình biểu tượng.

Chúng tôi cố tình chọn cách sinh tiếng bằng script và tự vẽ giao diện, không tải nội dung từ máy chủ ngoài, nên app chạy trọn vẹn khi máy không có Internet.

8. An toàn thông tin — nói thẳng

Đường truyền giữa các máy trong ván là dữ liệu JSON trần trên TCP, không mã hoá. Đây là lựa chọn có chủ ý: app chạy trong mạng nhà, không cần chứng chỉ, không cần máy chủ, và cài đặt xong là chơi.

Điều đó có nghĩa là: ai có quyền trên mạng WiFi đó — người quản trị mạng, hoặc người biết bắt gói tin — về lý thuyết đọc được biệt danh và các nước đi trong ván. Một ván ô ăn quan chẳng có gì bí mật, nhưng bạn nên biết trước. Vì vậy:

Mặt khác, vì dữ liệu không rời khỏi mạng nội bộ và không có máy chủ nào của chúng tôi giữ nó, rủi ro kiểu "công ty bị lộ cơ sở dữ liệu người dùng" không tồn tại ở đây — chúng tôi không có cơ sở dữ liệu nào để mà lộ.

9. Trẻ em

App làm ra để cả nhà chơi cùng, không có nội dung bạo lực, không cờ bạc ăn tiền, không nội dung người lớn. Không có quảng cáo, không mua trong ứng dụng, không có khung chat, không có đường dẫn ra web, không có nội dung do người lạ tải lên.

Vì app không thu thập dữ liệu của bất kỳ ai, nên cũng không có dữ liệu trẻ em nào được thu thập — kể cả trẻ dưới 13 tuổi (COPPA của Hoa Kỳ), trẻ dưới ngưỡng tuổi mà GDPR để mỗi nước châu Âu tự đặt (13 tới 16 tuỳ nước), hay trẻ dưới 16 tuổi theo Luật Trẻ em và Nghị định 13/2023/NĐ-CP của Việt Nam.

Chỗ duy nhất trẻ tự gõ chữ là ô đặt biệt danh. Phụ huynh nên nhắc con đặt biệt danh chứ đừng gõ họ tên thật, vì tên ấy hiện ra với các máy cùng WiFi (mục 4.3). Người lớn có thể đổi lại biệt danh bất cứ lúc nào.

Nếu bạn tin rằng con mình đã cung cấp thông tin cá nhân cho chúng tôi, xin cứ viết thư về [email protected]. Nhưng thực tế chúng tôi không nhận được gì cả: không có đường nào để dữ liệu đi từ máy của con bạn tới chúng tôi.

10. Quyền của bạn và cách xoá dữ liệu

Luật ở nhiều nơi — Nghị định 13/2023/NĐ-CP của Việt Nam, GDPR của châu Âu, CCPA/CPRA của California — cho bạn quyền được biết, được xem, được sửa, được xoá, được mang dữ liệu đi, được phản đối việc xử lý dữ liệu, và được không bị bán dữ liệu.

Chúng tôi tôn trọng đầy đủ các quyền ấy. Chỉ có điều: chúng tôi không giữ dữ liệu nào của bạn, nên không có gì để chúng tôi trích xuất, sửa hay xoá theo yêu cầu. Nói theo chữ nghĩa của GDPR: vì không có dữ liệu nào tới tay chúng tôi, chúng tôi không đóng vai "bên kiểm soát dữ liệu" với bất kỳ dữ liệu nào của bạn. Toàn bộ dữ liệu nằm trên máy bạn, và bạn tự làm được ngay:

Nếu bạn vẫn muốn gửi yêu cầu chính thức về quyền riêng tư, cứ viết cho [email protected]; chúng tôi sẽ trả lời trong vòng 30 ngày, kể cả khi câu trả lời là "chúng tôi không giữ gì của bạn".

11. Lưu giữ dữ liệu bao lâu

12. Chuyển dữ liệu ra nước ngoài

Không có. Dữ liệu không rời khỏi mạng nội bộ của bạn, nên cũng không đi qua biên giới nào.

13. Thay đổi chính sách

Nếu sau này app có thêm tính năng làm thay đổi những điều trên, chúng tôi sẽ sửa tài liệu này và ghi lại ngày cập nhật ở đầu trang. Thay đổi lớn thì phần "Có gì mới" của bản cập nhật sẽ nói rõ, trước khi tính năng ấy chạy. Bản mới nhất luôn ở https://app.359258.net/LangGameViet/privacy-policy.html.

14. Liên hệ

Nguyen Pham Email: [email protected]

Privacy Policy

App: Làng Game Việt

Bundle ID / Package name: net.x359258.langgameviet

Applies from version: 1.0.0 (build 1)

Effective date: 27 August 2026

Last updated: 27 August 2026

Published by: Nguyen Pham

Contact: [email protected]

1. The short version

Làng Game Việt lets you play traditional Vietnamese games with the people sitting next to you: Ô ăn quan (mancala), Cờ caro (gomoku), Cờ gánh, Cá ngựa (ludo), Tam cúc (a folk card game), Tiến lên (a shedding game on a 52-card deck) and Cờ tướng (xiangqi). To play together, the devices must be on the same Wi-Fi network. One device hosts the room; the others connect straight to it.

We run no servers. There are no accounts, no sign-in, no ads, no in-app purchases, no analytics, and no trackers of any kind inside the app. Your game travels from one device to another inside your own home network and stops there — it does not pass through us, because there is nothing of ours for it to pass through.

In app-store language: we do not collect user data. But "we collect nothing" is not the same as "nothing happens on your device", so the rest of this document spells out exactly what does.

2. Who is responsible

The app is published by Nguyen Pham. For any privacy question, write to [email protected]. We aim to answer within 30 days.

3. What we do NOT do

The short list, so you don't have to read further:

4. What ACTUALLY happens while you play

This is the important part. We list every item, including the small ones.

4.1. The nickname you choose

The first time you open the app, the device gives you a playful nickname (things like "Mèo Lém", "Cò Nhanh"). Tap it to change it to anything you like, up to 20 characters. This nickname is:

Because you type the nickname yourself, you decide entirely what it says about you. We recommend a nickname rather than your full legal name, especially on a child's device. You can change it at any time from the home screen.

4.2. A randomly generated player code stored on the device

The first time you open the app, the device generates a random 16-character string (something like k3f9a2m0z1x7c5b8) and stores it locally. It serves one purpose: recognising that you are "the same person as a moment ago" when your connection drops mid-game, so you get your original seat back instead of being treated as a newcomer and turned away because the room is full.

About that string:

We never receive this string, we store it nowhere except on your device, and we do not use it to track anything.

4.3. Local IP address and room name on your home network

When you tap Create room, the app opens a network port on your device and advertises a small record on the current Wi-Fi network so your friends can find it. That record contains:

Alongside it, the operating system itself advertises your local IP address (such as 192.168.1.7) and your device name (such as iPhone-cua-Binh.local). The device name is set by the operating system and the app does not change it. The local IP address, however, the app does read — it asks the operating system for the device's IPv4 address and shows it on the room screen, so anyone who cannot scan the QR code can type that address in by hand. Showing it on screen is where it ends: the app neither stores it nor sends it anywhere.

This means: while a room is open, every device on the same Wi-Fi can see the room name — and therefore the nickname you chose — including people who never join the game. This is the only way "find rooms nearby" can work. Closing the room stops the advertisement immediately.

This local IP address belongs to your home network, is not your public IP address, and is only visible from inside that network. It never reaches the internet and we never see it.

When you join someone else's room, your device is visible to the host in the way any network connection is visible: local IP address and port. Plus the nickname and player code described above.

4.4. The QR code

The host can display a QR code so friends can join quickly. It contains the local IP address, port, room name and game code — exactly what is already advertised on the Wi-Fi, nothing more. If the room name contains your real name, don't post a screenshot of that QR code on social media; even so, the address inside it is only usable by someone already on your home network.

4.5. Camera

The app asks for camera permission only to scan a room's QR code. The camera turns on only when you open the scanner screen yourself, and turns off as soon as you leave it.

4.6. Sound

The app has a mute button, and remembers your choice on the device. The app only plays sound from files bundled inside it; it never records sound and never asks for microphone permission.

4.7. Playing solo against the computer

If you choose "Play against the computer", no networking happens at all. No port is opened, nothing is advertised on the Wi-Fi, no connection is made. The computer works out its moves on your own device.

4.8. Game content

Game state — the board, the cards, the dice, the score — travels only between the devices in the room. Games are not recorded: closing the app discards the state, the app keeps no match history, no leaderboard, and writes no log files to your device.

One small thing, for completeness: while running, the app prints a few technical lines to the operating system's own log (things like "listening on 192.168.1.7:52345") to help with debugging. Those lines are not written to any file of the app's, are never sent anywhere, and stay in your device's system log, handled by the operating system.

For Tam cúc and Tiến lên specifically, the host filters the state before sending it to each player: other players' hands never travel over the wire at all, rather than being sent to everyone and merely hidden in the interface. The number of cards each player still holds is sent, because anyone at the table can count that anyway.

5. Data stored on your device

The app stores exactly four items, using the operating system's standard settings store (shared_preferences, which is UserDefaults on iOS/macOS and SharedPreferences on Android). All four live in the app's private area on your device, and none of them ever reaches us or any third party — we have no server to receive them. Two of the four do travel to the devices of the people you play with when you join a room; the last column of the table says which.

ItemWhat it isWhy it existsDoes it leave the device
player_nameThe nickname you choseShows who you are inside the roomYes — sent to the devices in your room, and included in the room name advertised on the Wi-Fi
player_idA random 16-character stringRestores your seat after a dropped connectionYes — sent to the room host you join
sound_onSound on or offRemembers your choiceNo
manual_sowIn Ô ăn quan, whether you sow the stones by hand or let the app do itRemembers your choiceNo

Nothing else is written to your device.

About device backups. That settings store is included in the device backup by default — iCloud or a computer backup on iPhone, Google backup on Android. So your nickname, player code and sound setting may travel into your own iCloud or Google account backup and come back when you switch phones or reinstall the app. That is between you, Apple and Google, under their backup policies; we neither touch it nor see it. If you would rather it did not happen, turn backup off for this app in your device's backup settings.

6. Permissions the app requests, and why

On iPhone / iPad

PermissionWhat it is for
Local NetworkFinding your friends' rooms on the same Wi-Fi and connecting to them. iOS asks once, the first time the app needs the home network. If you decline, iOS blocks all contact with other devices on the network — all three ways into a room stop working, including typing the address by hand. You can still play against the computer; to play with friends, switch it back on in Settings → Làng Game Việt → Local Network.
CameraOnly for scanning a room's QR code. See section 4.5.

The app declares a Bonjour service named _langviet._tcp — a dedicated channel for finding this app's own rooms, not a way to look around at other devices in your home.

On Android

PermissionWhat it is for
INTERNETAndroid requires this permission before an app can open any network connection including one that never leaves the house. The app makes no internet calls; it connects only to the room host on your home network. It is a normal permission; the system does not prompt you.
ACCESS_NETWORK_STATE, ACCESS_WIFI_STATE, CHANGE_WIFI_MULTICAST_STATENeeded to advertise and discover rooms on the local network. Normal permissions, no prompt.
NEARBY_WIFI_DEVICESOn Android 13 and later, this is the permission for discovering nearby devices. The app declares it with the neverForLocation flag, which is a formal commitment to the operating system that it is not used to derive your location.
ACCESS_FINE_LOCATION (up to Android 12 only)Older Android versions required location permission before allowing local-network discovery. The app never reads your coordinates; there is no code that requests a location fix. The permission exists purely so the system allows room discovery. From Android 13 onwards it is no longer declared.
CameraOnly for scanning a room's QR code. See section 4.5.

7. Third-party libraries

The app uses a few open-source libraries for technical work. None of them sends your game data or personal information anywhere, and none of them is an advertising or behavioural analytics SDK. The one exception regarding outbound traffic is stated in section 3 and repeated in the last row of the table:

LibraryWhat it does in the app
bonsoirAdvertises and discovers rooms via Bonjour (iOS/macOS) and NSD (Android). Local network only.
shared_preferencesStores the four items in section 5 in the device settings store.
qr_flutterDraws the room's QR code on the host's screen. Drawn locally, no service call.
mobile_scannerReads QR codes with the camera. Decoding happens on the device. On Android it uses Google's ML Kit, on iOS Apple's Vision — see the row below.
Google ML Kit Barcode Scanning<br>(Android only)Pulled in by mobile_scanner, together with parts of Google Play Services and Firebase. The recognition model is bundled inside the app so camera images never leave the device, but those components may send diagnostic data to Google. The iOS build contains no Google components.
audioplayersPlays sound files bundled inside the app.
cupertino_iconsIcon font.

We deliberately generate the sounds with a script and draw the interface ourselves rather than fetching content from a remote server, so the app works completely offline.

8. Security — stated plainly

Traffic between devices during a game is plain JSON over TCP, not encrypted. This is a deliberate choice: the app runs inside your home network, needs no certificates, needs no server, and works the moment it is installed.

That means anyone with privileged access to that Wi-Fi network — a network administrator, or someone capable of capturing packets — could in principle read nicknames and game moves. A game of mancala is hardly a secret, but you should know this in advance. So:

On the other hand, because the data never leaves your local network and no server of ours holds it, the familiar risk of "company leaks its user database" does not apply here — we have no database to leak.

9. Children

The app is made for families to play together. It contains no violence, no gambling for money, and no adult content. There are no ads, no in-app purchases, no chat box, no outbound web links, and no content uploaded by strangers.

Because the app collects no data from anyone, no children's data is collected either — including from children under 13 (COPPA, United States), children below whatever age each EU member state sets under the GDPR (between 13 and 16), or children under 16 under Vietnam's Law on Children and Decree 13/2023/ND-CP.

The only place a child types free text is the nickname field. Parents should encourage a nickname rather than a real full name, because that name is visible to devices on the same Wi-Fi (section 4.3). An adult can change it back at any time.

If you believe your child has provided personal information to us, please write to [email protected]. In practice we receive nothing: there is no path for data to travel from your child's device to us.

10. Your rights, and how to delete your data

Laws in many places — Vietnam's Decree 13/2023/ND-CP, the EU GDPR, California's CCPA/CPRA — give you the right to know, to access, to correct, to delete, to port your data, to object to processing, and not to have your data sold.

We respect all of those rights. The one wrinkle is that we hold no data about you, so there is nothing for us to export, correct or delete on request. In GDPR terms: since no data ever reaches us, we are not a data controller for any data of yours. Everything lives on your device, and you can act on it yourself right now:

If you would still like to submit a formal privacy request, write to [email protected]; we will answer within 30 days, even if the answer is "we hold nothing of yours".

11. How long data is kept

12. International data transfers

None. The data never leaves your local network, so it never crosses a border.

13. Changes to this policy

If a future feature changes anything described above, we will update this document and record the update date at the top. For any significant change, the release notes of that update will say so before the feature reaches you. The current version always lives at https://app.359258.net/LangGameViet/privacy-policy.html.

14. Contact

Nguyen Pham Email: [email protected]