尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证곁애 (Gyeoae): a free, offline-first community finder for people with dementia. A BLE tag broadcasts an anonymous ID; nearby phones detect it with no network and report to the guardian. Bystanders never see identity. By CLSOFTLAB, Dr. Lee Il-guk.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
당신의 폰이 누군가의 귀갓길을 조용히 도울 수 있어요. 곁애 ("by your side") is a free, open-source, public-good service that helps find people with dementia who wander and get lost — especially where there is no mobile network. The person carries a tiny Bluetooth (BLE) tag that broadcasts only an anonymous, rotating ID. Any nearby phone with the app detects it offline, remembers the sighting, and uploads it automatically once it's back in signal. Neighbours passing by are what makes it work.查看完整 README ↗
English · 한국어
Your phone can quietly help a lost elder find the way home.
당신의 폰이 누군가의 귀갓길을 조용히 도울 수 있어요.
곁애 ("by your side") is a free, open-source, public-good service that helps find people with dementia who wander and get lost — especially where there is no mobile network. The person carries a tiny Bluetooth (BLE) tag that broadcasts only an anonymous, rotating ID. Any nearby phone with the app detects it offline, remembers the sighting, and uploads it automatically once it's back in signal. Neighbours passing by are what makes it work.
It is the automatic layer on top of Korea's existing missing-person alert: when an alert is on, nearby phones search for the tag by themselves — phones matching an ID, instead of people trying to match a description on the street. And through all of it, a bystander never learns who the person is — only that "someone may need help."
Project lead: CLSOFTLAB (씨엘소프트랩), Dr. Lee Il-guk (이일국 박사). No money, no ads, no data sale, no keys required.
[!NOTE] Status: v0.1 reference design + working app/backend. 곁애 is an assistive, community aid. It is not a medical device and not an emergency service. If someone is in danger now, call 112 (police) or 119 (fire/medical) in Korea first.
Detect offline → store on the phone → auto-upload when back online. The finder does nothing extra; nothing is lost even if they never open the app again.
NO-NETWORK AREA (trail, field) BACK IN SIGNAL
────────────────────────────── ──────────────
person with dementia carries a BLE tag finder's phone auto-uploads the
→ broadcasts a rotating ANONYMOUS id saved sighting to the guardian network
│ (offline, no internet) │
▼ ▼
a passer-by's phone hears it guardian is notified: "seen near X at 14:20"
→ saves { tag id (hashed), coarse GPS, time } citizen only ever saw
ON THE PHONE — no network needed "someone may need help + report"
→ shows a gentle "help & report" card guardian / verified police act
│ (identity + exact place: them only,
└── guardian nearby? offline voice homing: audit-logged)
"getting closer… about 20 m, this way"
The missing-person-alert connection: Korea already sends wandering-alert text messages to people nearby, then asks a human to match a written description on the street — the weak link. 곁애 replaces that step: when an alert is on, nearby phones automatically look for the tag. The SMS reaches people; 곁애 makes their phones search. See docs/en/07-missing-person-alert-link.md.
The built-in demo / simulator plays the whole story on one screen: a tag moving through a no-signal zone, several phones detecting it offline and uploading when back online, and a guardian homing in — with no hardware and no keys.
cd app && python -m http.server 8080 # open http://localhost:8080 → 시민 → demo
Watch what the citizen sees: only "someone may need help" — never a name, photo, or the word "dementia". See docs/en/01-quickstart.md.
곁애 gives you the working software and the design. Turning it into an at-scale public service needs a few things that only an operator, or an authority, can put in place.
| ✅ Built in this repository | ⚠️ An operator / authority adds later |
|---|---|
| Citizen, guardian and police/keeper PWA apps | Native app for reliable background scanning (esp. iOS) |
| Small FastAPI + SQLite API, runs with no keys | Real hosting, accounts, and scaled database |
| Offline store-and-forward (detect offline, queue, auto-upload) | Official missing-person-alert integration (auto-search on alert) |
| Rotating-ID privacy so no one can track the person over time | Police / safety-keeper verification authority |
| Coarsening of shared locations; audit-logged identity access | Satellite / LoRa bridge for true wilderness with no passer-by |
| Guardian offline voice homing (getting warmer/colder) | Community rollout with carer organisations |
| Citizen "no-identity" help card (bystanders see no identity) | Legal, safety and data-protection review for a live deployment |
| In-browser demo / simulator, no hardware needed |
[!IMPORTANT] Bystanders never see identity. A passer-by only ever sees "someone may need help" — never a name, photo, or the word "dementia". Identity and exact location are for the registered guardian and verified police only, and every such access is audit-logged.
Why: telling a stranger that a specific, findable person is confused and alone is exactly what a kidnapper or scammer would want, and publicly labelling someone with a condition harms their dignity for good. A citizen can help perfectly well without knowing who the person is — knowing would add nothing but risk. The tag broadcasts a rotating anonymous ID so no one can follow the person over time, shared locations are coarsened, enrolment needs consent, and data can be exported or deleted. No ads, no data sale, finders are not tracked. → docs/en/05-privacy-safety-dignity.md
[!WARNING] 곁애 is not a medical device and not an emergency service. It does not monitor health and is not guaranteed real-time. In an emergency, call 112 (police) or 119 (fire/medical) in Korea first; for a missing person, contact the police (안전Dream / 실종경보). The citizen app coaches a gentle, dignified response: don't startle the person, stay with them if it is safe, and help them feel safe while a guardian or the police are reached. 곁애 complements — it does not replace — GPS wander-detectors (배회감지기), police fingerprint pre-registration (지문 사전등록), and the official alert system.
[!NOTE]
- Reliable background scanning needs a native app. Web apps can scan only in the foreground (and iOS is especially restrictive). Foreground scanning and guardian homing work today; all-day background detection is on the roadmap as a native app.
- If no phone ever passes by (true wilderness), no crowd-powered app can help — that needs satellite / long-range radio (LoRa), a future track.
- 곁애 is a finding layer, not a tracker. Sightings are occasional, best-effort, and expire. → docs/en/06-deploy-and-limits.md
| Folder / file | What | Licence |
|---|---|---|
app/ | Citizen / guardian / keeper PWA — offline BLE scan, store-and-forward queue, homing, in-browser demo/simulator | Apache-2.0 |
backend/ | Small FastAPI + SQLite API — enrol tags, receive & coarsen sightings, match rotating IDs, access-controlled identity, audit log. Runs with no keys | Apache-2.0 |
docs/ | Design spec and guides (English + 한국어) | CC BY 4.0 |
.github/ | Issue templates, PR template, CI | Apache-2.0 |
Everything runs locally with no keys and no secrets. Authoritative commands live in
backend/README.md and app/README.md (as populated); the essentials:
# 1) Backend API (FastAPI + SQLite)
cd backend
python -m venv .venv && . .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e ".[dev]"
uvicorn gyeoae.app:app --reload # http://127.0.0.1:8000
# 2) Frontend PWA + demo (no build step)
cd app
python -m http.server 8080 # http://localhost:8080
# 3) Tests
cd backend && pytest
cd app && node --test tests/*.test.js
Copy backend/.env.example to backend/.env only to change a default — never put real
secrets there. See docs/en/01-quickstart.md.
Rotating anonymous IDs. Each tag has a secret known only to the guardian's app and the server; it is never broadcast. The tag emits a keyed hash of the current 15-minute time window, so the broadcast ID changes constantly and looks like unrelated random tokens to everyone else. Only a holder of the secret (the guardian app + the server) can recognise it, by recomputing the IDs for the time a sighting was seen. So the guardian and the network can match the tag, while a bystander can neither identify nor track the person. → docs/en/03-ble-and-privacy.md
Store-and-forward. In a no-signal area, a passer-by's phone detects the tag with no
internet, records { tag id (hashed), coarse GPS, time } in a local queue that survives
reboots, and uploads on its own the moment it regains signal. The sighting carries both
when it was seen and when it was uploaded; matching keys off when it was seen, so a delayed
upload still finds the right tag. Neighbours are the network — no infrastructure to
install. → docs/en/04-offline-store-and-forward.md
If you care for someone who might wander — or you are a care facility, a dementia support group, a local government, a police or safety-keeper programme, a researcher, or a maker group — we would love to hear from you. 곁애 is free and non-commercial; there is nothing to buy. It becomes a real safety net only when neighbours and local services take part.
Start here: docs/README.md · CONTRIBUTING.md
Details in NOTICE. © 2026 CLSOFTLAB (씨엘소프트랩), Dr. Lee Il-guk (이일국).
Not an Anthropic product. 곁애 is an independent public-good project by CLSOFTLAB, designed with the help of Claude. It is not made, endorsed by, or affiliated with Anthropic.
More free, open public-good projects from github.com/clsoftlab-lang: