Chính sách quyền riêng tư của Zenori / Zenori Privacy Policy
Ngày có hiệu lực / Effective date: 09/08/2026
Lần cập nhật gần nhất / Last updated: 22/09/2026
PHẦN A — TIẾNG VIỆT (bản chính)
1. Giới thiệu
Zenori ("Zenori", "chúng tôi") gồm ứng dụng sức khoẻ và thể hình dành cho iPhone, cùng không gian làm việc trên web dành cho huấn luyện viên. Bạn có thể dùng ứng dụng độc lập. Kết nối HLV là lựa chọn thêm. Chính sách này giải thích chúng tôi thu thập dữ liệu gì, vì sao, lưu ở đâu, chia sẻ với ai, và bạn có những quyền gì đối với dữ liệu của mình.
Tóm tắt ngắn gọn, trung thực:
- Chúng tôi chỉ thu thập dữ liệu cần thiết để vận hành các tính năng bạn dùng (ghi nhận tập luyện, dinh dưỡng, số đo cơ thể, check-in hằng ngày, tiến độ, tuổi sinh học).
- Zenori đọc dữ liệu sức khoẻ của bạn, và chỉ ghi lại đúng buổi tập bạn hoàn thành trong ứng dụng hoặc ghi bằng Apple Watch — kèm lộ trình GPS của buổi tập ngoài trời ghi trên đồng hồ — không ghi gì khác vào ứng dụng Sức khoẻ.
- Chúng tôi không dùng dữ liệu của bạn cho theo dõi (tracking), quảng cáo, hoặc phân tích của bên thứ ba. Ứng dụng không nhúng bất kỳ SDK quảng cáo/analytics nào.
- Chúng tôi không bán dữ liệu cá nhân. Nhà cung cấp hạ tầng xử lý dữ liệu để vận hành dịch vụ (mục 4). Nếu bạn dùng Quét món ăn, ảnh được xử lý bởi nhà cung cấp AI (mục 2.6). Nếu bạn chọn kết nối HLV, việc chia sẻ tuân theo phạm vi bạn đã xác nhận (mục 2.7).
- Bạn có thể xoá tài khoản ngay trong ứng dụng, và việc này xoá vĩnh viễn dữ liệu của bạn khỏi máy chủ.
Đơn vị vận hành: Zenori. Mọi liên hệ về dữ liệu: privacy@zenori.fit (mục 10).
2. Dữ liệu chúng tôi thu thập và lý do
Toàn bộ dữ liệu dưới đây gắn với tài khoản của bạn (được dùng để cung cấp dịch vụ), không dùng để theo dõi bạn xuyên ứng dụng/website khác.
2.1. Đăng nhập, dữ liệu tài khoản và hồ sơ
Trong ứng dụng iPhone, bạn đăng nhập qua Đăng nhập bằng Apple, Đăng nhập bằng Google, hoặc liên kết gửi tới email của bạn. Ứng dụng không có mật khẩu: không có màn hình tạo mật khẩu, không có bước khôi phục mật khẩu, và không có mật khẩu nào để chúng tôi lưu hay làm lộ.
Không gian làm việc trên web dành cho huấn luyện viên thì dùng email kèm mật khẩu, và có bước khôi phục qua email. Mật khẩu đó do dịch vụ xác thực (Supabase) lưu ở dạng băm (hash) — chúng tôi không đọc được nó — và nó không tồn tại trên iPhone của bạn. Nếu bạn chỉ dùng ứng dụng, bạn không có mật khẩu nào cả.
| Dữ liệu | Vì sao thu thập |
|---|---|
| Địa chỉ email | Gửi liên kết đăng nhập, định danh tài khoản; với tài khoản HLV trên web: đăng nhập và khôi phục tài khoản |
| Mật khẩu | Chỉ tài khoản huấn luyện viên trên web. Ứng dụng iPhone không dùng mật khẩu; mật khẩu web được dịch vụ xác thực lưu ở dạng băm và không nằm trên thiết bị của bạn (xem mục 5) |
| Họ tên | Hiển thị trong hồ sơ, cá nhân hoá trải nghiệm |
| Tuổi, giới tính sinh học, chiều cao | Tính toán mục tiêu thể hình và điểm tuổi sinh học |
| Múi giờ | Để chấm điểm và hiển thị theo đúng ngày của bạn |
| Mốc hoàn tất onboarding | Mở khoá tính năng đúng thời điểm |
2.2. Dữ liệu sức khoẻ và thể hình bạn nhập
| Dữ liệu | Vì sao thu thập |
|---|---|
| Cân nặng, tỷ lệ mỡ cơ thể | Theo dõi tiến độ, giám sát mục tiêu |
| Số đo cơ thể (ngực, eo, hông, đùi, tay, bụng — cm) | Theo dõi tiến độ chi tiết |
| Mục tiêu thể hình, cân nặng/ngày mục tiêu | Cá nhân hoá huấn luyện và tiến độ |
| Mục tiêu dinh dưỡng (calo, đạm, tinh bột, béo) | Hướng dẫn dinh dưỡng và ghi nhận bữa ăn |
| Nhật ký tập luyện (bài tập, set, rep, mức tạ, thời lượng, RPE, ghi chú) | Lưu lịch sử tập, tính tải tập luyện và tiến độ |
| Mẫu (template) buổi tập bạn tạo | Lưu các buổi tập cá nhân của bạn |
| Nhật ký bữa ăn (món, calo, macro, mô tả, ghi chú) | Theo dõi dinh dưỡng |
| Check-in (năng lượng, độ đói, căng thẳng 1–10, ghi chú; điều làm tốt và khó khăn bạn tự viết) | Theo dõi sức khoẻ tổng thể và phục hồi |
| Thói quen (tên thói quen và lịch ngày trong tuần do HLV của bạn giao; đánh dấu hoàn thành từng ngày của bạn) | Theo dõi thói quen và độ tuân thủ cùng HLV |
2.3. Dữ liệu đọc từ Apple Health (HealthKit)
Nếu bạn cấp quyền, Zenori đọc các loại sau từ Apple Health để hiển thị và tính toán tiến độ:
- Buổi tập đã ghi trong Sức khoẻ (loại hình, thời điểm bắt đầu/kết thúc, thời lượng)
- Lộ trình GPS gắn với buổi tập ngoài trời (
HKWorkoutRoute) — kể cả buổi tập do ứng dụng khác hoặc Apple Watch ghi lại - Số bước, số tầng đã leo
- Giấc ngủ (thời lượng và các giai đoạn: sâu, REM, lõi, thức)
- Nhịp tim — lúc nghỉ, trong buổi tập, trong lúc ngủ, và các mẫu nhịp tim trong suốt ngày (dùng để vẽ biểu đồ ước tính mức kích hoạt trong ngày ở mục Căng thẳng; biểu đồ đó được tính trên máy của bạn, chỉ để xem, và không được dùng làm đầu vào chấm điểm) — cùng HRV cả ngày và HRV khi ngủ
- Năng lượng hoạt động (calo đốt), thời gian tập, thời gian đứng, và vòng hoạt động Move/Exercise/Stand
- Quãng đường (buổi tập và cả ngày)
- VO₂max (dùng để tính tuổi sinh học)
- SpO₂ (nồng độ oxy trong máu) — chỉ hiển thị
- Nhịp thở (dùng để tính mức căng thẳng)
Dữ liệu này KHÔNG chỉ nằm trên máy của bạn. Zenori là ứng dụng có máy chủ: để lịch sử, biểu đồ và điểm số của bạn còn nguyên khi bạn đổi máy hay cài lại ứng dụng, dữ liệu Zenori đọc từ Apple Health được tải lên máy chủ của Zenori và lưu trong tài khoản của bạn. Mỗi buổi tập nhập từ Apple Health được gửi lên kèm loại hình, thời điểm, thời lượng, quãng đường, calo, nhịp tim trung bình/cao nhất, đường nhịp tim theo thời gian, và lộ trình GPS đã được mã hoá thành chuỗi (polyline) khi buổi tập đó có lộ trình. Các chỉ số theo ngày (bước, giấc ngủ, nhịp tim, HRV, năng lượng, vòng hoạt động…) cũng được lưu theo ngày trong tài khoản của bạn. Toạ độ lộ trình được lọc và làm thưa trước khi rời khỏi máy (bỏ điểm sai số ngang > 50m, giữ điểm cách nhau tối thiểu 8m) — đủ để vẽ lại đường chạy, không phải một bản ghi vị trí đầy đủ.
Cách dùng dữ liệu để tính điểm: trong dữ liệu Apple Health, số bước, thời lượng ngủ và thời lượng buổi tập đã hoàn thành được dùng để tính các điểm Vận động, Phục hồi và Giấc ngủ trên máy chủ. Nếu buổi tập diễn ra từ ngày kết nối Apple Health đã ghi nhận trở đi, thời lượng của buổi tập đó được tính vào tải tập hằng ngày. Zenori dùng mức gắng sức (RPE) bạn tự ghi cho buổi tập; nếu chưa ghi, Zenori dùng mức ước tính mặc định, không suy ra mức này từ nhịp tim.
Buổi tập nhập có ngày trước mốc kết nối có thể được dùng làm nền so sánh tải tập (ACWR) và điều chỉnh mục tiêu vận động, nhưng không cộng vào tải tập hằng ngày trước mốc đó. Nhịp tim khi nghỉ, HRV và nhịp thở không là đầu vào của ba điểm trên; chúng được dùng cho mức căng thẳng và ước tính tuổi sinh học hiển thị riêng. SpO₂ chỉ để hiển thị. Việc HLV xem dữ liệu tổng hợp vẫn phụ thuộc phạm vi và thời gian chia sẻ bạn đã xác nhận.
2.4. Dữ liệu Zenori GHI vào Apple Health
Zenori ghi hai thứ: (1) buổi tập dạng hoạt động mà bạn tự bấm bắt đầu và kết thúc trong ứng dụng hoặc trên Apple Watch (chạy bộ, đạp xe, bơi, tập tạ, yoga…), kèm thời lượng và quãng đường của chính buổi đó — để buổi tập hiện trong Fitness cùng các buổi tập khác của bạn; (2) lộ trình GPS của buổi tập ngoài trời bạn ghi bằng Apple Watch, gắn với chính buổi tập đó.
Zenori không ghi:
- buổi tập nhiều bài do bạn tự soạn, hoặc buổi tập do huấn luyện viên giao (những buổi này ở lại trong Zenori);
- nhịp tim, giấc ngủ, cân nặng, số đo cơ thể, hay bất kỳ chỉ số nào khác (nhịp tim, năng lượng và quãng đường bên trong một buổi tập ghi trên Apple Watch do watchOS tự ghi, không phải Zenori);
- bất kỳ dữ liệu nào Zenori đã đọc từ Sức khoẻ (không ghi ngược lại thứ đã nhập vào).
Bạn có thể tắt riêng quyền ghi này bất cứ lúc nào trong Cài đặt → Sức khoẻ → Ứng dụng → Zenori; ứng dụng vẫn hoạt động bình thường.
2.5. Vị trí (GPS) — trong buổi cardio ngoài trời bạn đang ghi
Khi bạn bắt đầu một buổi cardio ngoài trời, Zenori dùng GPS khi đang sử dụng ứng dụng ("While Using the App") để đo quãng đường và tốc độ. Toạ độ lộ trình được lọc (bỏ điểm có sai số ngang > 50m, giãn cách tối thiểu 8m) rồi mã hoá trước khi lưu. Dữ liệu vị trí chỉ để hiển thị lộ trình và không là đầu vào chấm điểm. GPS tiếp tục hoạt động khi bạn khoá màn hình hoặc chuyển sang ứng dụng khác trong buổi tập đang ghi. Zenori dừng cập nhật vị trí khi bạn tạm dừng, kết thúc hoặc huỷ buổi tập và không yêu cầu quyền vị trí “Luôn luôn”.
2.6. Ảnh — quyền thêm ảnh, và ảnh đối chiếu cơ thể
Zenori có thể xin quyền thêm ảnh vào thư viện Ảnh của bạn, chỉ với mục đích duy nhất: lưu thẻ tuổi sinh học mà bạn chủ động chọn lưu. Zenori không đọc thư viện ảnh của bạn và không tự động truy cập ảnh nào.
Ảnh đối chiếu cơ thể (trước / sau). Tính năng này là tuỳ chọn và mặc định TẮT. Ảnh chỉ rời khỏi máy khi chính bạn bật và bấm đồng ý. Ảnh được tổ chức thành từng bộ ảnh có ngày chụp: mỗi bộ tối đa 3 ảnh (trước, nghiêng, sau), và mỗi tuần mới bắt đầu được một bộ mới. Khi đã bật, ảnh được lưu trong kho lưu trữ riêng tư (không công khai), chỉ mở được bằng liên kết ký tạm thời hết hạn sau vài phút, và không ai khác ngoài bạn xem được. Huấn luyện viên được ghép với bạn — kể cả huấn luyện viên được gán sau này — không xem được ảnh của bạn. Ảnh chỉ ra khỏi Zenori khi chính bạn đưa chúng ra: khi xuất báo cáo PDF gửi huấn luyện viên, bạn có thể chọn kèm ảnh — mặc định là không kèm, và bạn tự tích từng ngày có ảnh muốn đưa vào — rồi tự gửi tệp đó cho ai bạn muốn. Đồng ý lưu ảnh không bao giờ tự động cho người khác xem.
Ảnh món ăn (Quét món ăn). Khi chính bạn chụp/chọn ảnh món ăn và bấm phân tích, ảnh (cùng gợi ý bạn gõ, nếu có) được gửi lên máy chủ Zenori rồi chuyển cho nhà cung cấp AI của chúng tôi (Anthropic) để nhận diện món và ước tính calo/dinh dưỡng. Zenori KHÔNG lưu ảnh món ăn trên máy chủ của mình — ảnh được chuyển đi để phân tích rồi bị loại bỏ, thứ lưu vào nhật ký của bạn là kết quả (tên món, calo, macro), không phải tấm ảnh. Theo điều khoản thương mại của Anthropic, dữ liệu gửi qua API không được dùng để huấn luyện mô hình của họ; nhà cung cấp AI có thể lưu tạm dữ liệu đầu vào trong thời gian ngắn theo điều khoản dịch vụ của họ để vận hành và bảo đảm an toàn hệ thống. Ảnh món ăn không dùng cho quảng cáo hay theo dõi. Kết quả là ước tính — bạn xem và chỉnh trước khi ghi.
Về lưu trữ: mọi tài khoản đều giữ toàn bộ lịch sử bộ ảnh — không có giới hạn số bộ, và không có cơ chế nào tự động xoá hay ẩn ảnh: tạo bộ mới không xoá bộ cũ, và không có ảnh nào bị xoá hay ẩn vì sự kiện thanh toán (với ảnh đối chiếu, gói Zenori Pro — xem mục 2.9 — chỉ mở khoá hai góc chụp nghiêng và mặt sau). Ảnh chỉ bị xoá khi chính bạn xoá. Bạn xoá được từng bộ ảnh, bất kể cũ hay mới, bất cứ lúc nào (xoá cả tệp trên máy chủ), và xoá tài khoản sẽ xoá toàn bộ. Trước 2026-08-03 ảnh chỉ nằm trên máy; người dùng cũ phải tự đồng ý mới tải lên — không có ảnh nào được tải lên tự động.
2.7. Dữ liệu huấn luyện (nếu bạn dùng)
Bạn không cần HLV để dùng Zenori. Khi chọn kết nối với HLV đang huấn luyện mình, bạn xem thông tin HLV và xác nhận phạm vi chia sẻ trước khi kết nối có hiệu lực. Việc kết nối giữ nguyên tài khoản và lịch sử cá nhân.
Với kết nối mới, dữ liệu theo ngày được chia sẻ từ ngày tiếp theo theo múi giờ tài khoản, trong các nhóm bạn đồng ý: dinh dưỡng, hoạt động, tập luyện, cảm nhận hằng ngày và số đo. Lịch sử riêng tư trước đó không tự động mở cho HLV. Ảnh đối chiếu cơ thể, dữ liệu HealthKit chi tiết và lộ trình GPS không nằm trong phạm vi kết nối này.
Các kết nối đã có trước thay đổi này giữ phạm vi theo dõi thông thường đang có; thay đổi không mở thêm quyền xem ảnh hoặc dữ liệu HealthKit chi tiết. Khi kết nối kết thúc hoặc hết hạn, HLV không còn được truy cập thông qua kết nối đó. Tài khoản và lịch sử của người dùng vẫn được giữ để tiếp tục dùng app độc lập.
| Dữ liệu | Vì sao thu thập |
|---|---|
| Thông tin HLV được gán, buổi huấn luyện, bài tập được giao | Hiển thị lịch và nội dung huấn luyện |
| Lời mời, phạm vi đã đồng ý, thời điểm kết nối và kết thúc | Xác nhận mối quan hệ và giới hạn truy cập của HLV |
| Hồ sơ HLV và múi giờ | Thiết lập không gian làm việc và lịch huấn luyện |
| Tin nhắn, câu trả lời biểu mẫu và phản hồi của HLV | Trao đổi trong kết nối; giữ nguyên phiên bản biểu mẫu đã trả lời |
Câu trả lời biểu mẫu của HLV được lưu riêng, không tự động dùng để tính điểm sức khoẻ. Bạn giữ được tin nhắn và câu trả lời của mình sau khi ngắt kết nối; HLV không còn được truy cập.
Gói dành cho HLV tách biệt với Zenori Pro trên iOS và phí huấn luyện giữa HLV với học viên. Website hiện chưa thu phí trực tuyến cho gói HLV và không yêu cầu thông tin thẻ khi đăng ký tài khoản HLV.
2.8. Dữ liệu kỹ thuật lưu trên thiết bị
| Dữ liệu | Vì sao |
|---|---|
| Token đăng nhập (access/refresh), user id, email, vai trò — lưu trong Keychain | Duy trì phiên đăng nhập giữa các lần mở app |
| Trạng thái kết nối HealthKit và mốc đồng bộ | Nhập lịch sử tập luyện tăng dần (không nhập trùng) |
Chúng tôi không thu thập IDFA, không có Advertising ID, không có theo dõi quảng cáo.
2.9. Gói đăng ký Zenori Pro
Zenori có gói đăng ký tự gia hạn Zenori Pro (mở khoá ước tính tuổi sinh học và hai góc chụp nghiêng, mặt sau của bộ ảnh đối chiếu cơ thể). Việc thanh toán do Apple xử lý hoàn toàn qua App Store — chúng tôi không bao giờ thấy hay lưu số thẻ hoặc thông tin thanh toán của bạn. Trên máy chủ, chúng tôi chỉ lưu hạng tài khoản (miễn phí / Premium) và ngày hết hạn gói để biết cần mở khoá tính năng nào cho bạn. Việc huỷ gia hạn hoặc hoàn tiền tuân theo quy định của App Store — bạn quản lý gói trong cài đặt tài khoản Apple của mình. Huỷ gói không xoá bất kỳ dữ liệu nào của bạn; các tính năng Premium chỉ khoá lại.
3. Chúng tôi KHÔNG làm gì
- Không theo dõi (tracking) bạn xuyên các ứng dụng/website khác.
- Không quảng cáo, không hồ sơ quảng cáo, không IDFA/Advertising ID.
- Không nhúng SDK analytics/quảng cáo của bên thứ ba (không Firebase Analytics, Amplitude, Segment, AppsFlyer, Facebook SDK, v.v.). Các thư viện trong app đều là thư viện kỹ thuật mã nguồn mở phục vụ chức năng (không thu thập dữ liệu người dùng).
- Không bán dữ liệu cá nhân.
- Không chia sẻ dữ liệu cá nhân với bên thứ ba vì mục đích thương mại của họ.
4. Dữ liệu của bạn được lưu ở đâu
Dữ liệu sản phẩm đi qua API máy chủ riêng của Zenori (REST API có xác thực) và được lưu trong cơ sở dữ liệu do Supabase (PostgreSQL được lưu trữ) cung cấp hạ tầng. Ứng dụng máy chủ chạy trên Render. Các nhà cung cấp hạ tầng xử lý dữ liệu để cung cấp dịch vụ cho Zenori. Việc truy cập dữ liệu được kiểm soát theo tài khoản và quyền của người dùng.
Dữ liệu có thể được xử lý ngoài quốc gia bạn cư trú. Bạn có thể liên hệ privacy@zenori.fit để hỏi về vị trí lưu trữ và nhà cung cấp đang được sử dụng.
5. Xác thực và bảo mật
- Ứng dụng iOS đăng nhập qua máy chủ riêng của Zenori và không chứa khóa bí mật của Supabase. Website dùng dịch vụ xác thực Supabase; khóa quản trị không được gửi xuống trình duyệt.
- Sau khi đăng nhập, ứng dụng nhận token JWT và lưu trong Keychain của iOS với mức bảo vệ
AfterFirstUnlockThisDeviceOnly— token không đồng bộ sang thiết bị khác. - Ứng dụng iPhone không có mật khẩu nào để lưu: bạn đăng nhập bằng Apple, Google, hoặc liên kết gửi tới email. Mật khẩu chỉ tồn tại cho tài khoản huấn luyện viên trên web; dịch vụ xác thực lưu chúng ở dạng băm, và chúng không có mặt trên thiết bị của bạn.
- Mọi liên lạc với máy chủ dùng kết nối mã hoá (HTTPS/TLS).
Không có biện pháp nào an toàn tuyệt đối, nhưng chúng tôi áp dụng các biện pháp kỹ thuật hợp lý để bảo vệ dữ liệu của bạn.
6. Quyền của bạn
Bạn có các quyền sau đối với dữ liệu của mình:
- Truy cập / xem: xem dữ liệu của bạn ngay trong ứng dụng.
- Chỉnh sửa: cập nhật hồ sơ, mục tiêu, các bản ghi.
- Xoá tài khoản: ngay trong ứng dụng (Cài đặt tài khoản → Xoá tài khoản). Đây là xoá vĩnh viễn (hard delete): hồ sơ và toàn bộ dữ liệu liên quan (bản ghi tập luyện, dinh dưỡng, số đo, check-in, v.v.) bị xoá khỏi máy chủ theo dây chuyền (cascade), và tài khoản xác thực của bạn bị thu hồi. Hành động này không thể hoàn tác.
- Rút lại quyền: bạn có thể tắt quyền HealthKit, Vị trí, hoặc Ảnh bất cứ lúc nào trong phần Cài đặt của iOS. Việc rút quyền HealthKit không xoá dữ liệu đã nhập trước đó — hãy xoá tài khoản nếu muốn xoá toàn bộ.
- Khôi phục mật khẩu — chỉ tài khoản HLV trên web: dùng liên kết "Quên mật khẩu hoặc chưa xác nhận email?" ở trang đăng nhập dành cho huấn luyện viên; liên kết khôi phục được gửi tới email của bạn. Ứng dụng iPhone không dùng mật khẩu nên không có bước này.
Để thực hiện bất kỳ quyền nào mà bạn không tự làm được trong ứng dụng, hãy liên hệ privacy@zenori.fit.
Tuỳ nơi cư trú, bạn có thể có thêm quyền theo luật áp dụng (ví dụ GDPR ở Châu Âu, hoặc luật bảo vệ dữ liệu cá nhân tại Việt Nam). Chúng tôi tôn trọng các quyền này.
7. Lưu trữ và xoá dữ liệu
- Chúng tôi giữ dữ liệu của bạn chừng nào tài khoản của bạn còn hoạt động, để cung cấp dịch vụ.
- Khi bạn xoá tài khoản, dữ liệu của bạn bị xoá vĩnh viễn khỏi cơ sở dữ liệu đang hoạt động như mô tả ở mục 6. Bản sao lưu, nếu có, được quản lý theo cấu hình của nhà cung cấp hạ tầng. Liên hệ privacy@zenori.fit nếu cần thông tin cụ thể về thời gian lưu bản sao hoặc yêu cầu xóa dữ liệu.
8. Trẻ em
Zenori dành cho người từ 13 tuổi trở lên và không hướng đến trẻ em dưới độ tuổi này. Nếu bạn cho rằng trẻ em đã cung cấp dữ liệu cá nhân cho Zenori, liên hệ privacy@zenori.fit để chúng tôi kiểm tra và xử lý yêu cầu xóa.
9. Thay đổi chính sách
Chúng tôi có thể cập nhật chính sách này. Khi có thay đổi quan trọng, chúng tôi sẽ cập nhật "Ngày có hiệu lực" ở đầu trang và, khi phù hợp, thông báo trong ứng dụng. Việc tiếp tục dùng ứng dụng sau khi cập nhật đồng nghĩa bạn chấp nhận chính sách mới.
10. Liên hệ
Mọi câu hỏi về quyền riêng tư hoặc dữ liệu của bạn, hãy liên hệ:
- Email: privacy@zenori.fit
- Đơn vị vận hành: Zenori
PART B — ENGLISH
1. Introduction
Zenori ("Zenori", "we", "us") includes a health and fitness app for iPhone and a web workspace for coaches. You can use the app independently. Connecting a coach is optional. This policy explains what data we collect, why, where it is stored, who we share it with, and what rights you have over your data.
A short, honest summary:
- We collect only the data needed to run the features you use (workout logging, nutrition, body measurements, daily check-in, progress, biological age).
- Zenori reads your health data, and writes back only the workouts you complete in the app or record on Apple Watch — with the GPS route of an outdoor session recorded on the watch — nothing else.
- We do not use your data for tracking, advertising, or third-party analytics. The app embeds no advertising/analytics SDKs.
- We do not sell personal data. Infrastructure providers process data to operate the service (section 4). If you use meal scan, an AI provider processes the photo (section 2.6). If you choose to connect a coach, sharing follows the scope you confirm (section 2.7).
- You can delete your account from within the app, which permanently deletes your data from our servers.
Zenori is operated by Zenori. All data inquiries: privacy@zenori.fit (section 10).
2. Data we collect and why
All data below is linked to your account (used to provide the service). It is not used to track you across other apps or websites.
2.1. Signing in, account and profile data
In the iPhone app, you sign in with Sign in with Apple, Sign in with Google, or a link sent to your email. The app has no passwords: there is no password to create, no recovery step, and no password for us to store or leak.
The web workspace for coaches does use an email and a password, with an email-based recovery step. That password is stored as a hash by our authentication provider (Supabase) — we cannot read it — and it never exists on your iPhone. If you only use the app, you have no password at all.
| Data | Why collected |
|---|---|
| Email address | Sending your sign-in link, account identification; for web coach accounts: signing in and account recovery |
| Password | Web coach accounts only. The iPhone app uses no password; web passwords are stored as hashes by the authentication provider and are not held on your device (see section 5) |
| Name | Profile display, personalization |
| Age, biological sex, height | Fitness goal calculations and biological-age scoring |
| Timezone | Correct daily scoring and display anchoring |
| Onboarding completion timestamp | Unlock features at the right time |
2.2. Health and fitness data you enter
| Data | Why collected |
|---|---|
| Weight, body-fat percentage | Progress tracking, goal monitoring |
| Body measurements (chest, waist, hip, thigh, arm, abdomen — cm) | Detailed progress tracking |
| Fitness goal, target weight/date | Personalized coaching and progress |
| Nutrition targets (calories, protein, carbs, fat) | Dietary guidance and meal logging |
| Workout logs (exercise, sets, reps, weight, duration, RPE, notes) | Training history, training-load and progress |
| Workout templates you create | Saving your personal workouts |
| Meal logs (food, calories, macros, description, notes) | Nutrition tracking |
| Check-in (energy, hunger, stress 1–10, notes; wins and struggles you write yourself) | Holistic health and recovery tracking |
| Habits (habit name and weekly day schedule assigned by your trainer; your daily done check-offs) | Habit tracking and adherence with your trainer |
2.3. Data read from Apple Health (HealthKit)
If you grant permission, Zenori reads the following from Apple Health to display and compute your progress:
- Workouts already recorded in Health (type, start/end, duration)
- The GPS route attached to an outdoor workout (
HKWorkoutRoute) — including sessions recorded by another app or an Apple Watch - Step count, flights climbed
- Sleep (duration and stages: deep, REM, core, awake)
- Heart rate — resting, during workouts, while you sleep, and samples across the whole day (used to draw the estimated intraday activation chart in the stress section; that chart is computed on your device, is display-only, and is never a scoring input) — plus all-day HRV and sleeping HRV
- Active energy (calories burned), exercise time, stand time, and the Move/Exercise/Stand activity rings
- Distance (workout and all-day)
- VO₂max (used to compute biological age)
- SpO₂ (blood oxygen saturation) — display only
- Respiratory rate (used to compute your stress level)
This data does NOT stay on your device. Zenori is a server-backed app: so your history, charts and scores survive a device change or reinstall, the data Zenori reads from Apple Health is uploaded to Zenori's servers and stored in your own account. Each imported workout is sent with its type, timing, duration, distance, calories, average/maximum heart rate, the heart-rate curve, and the GPS route encoded as a polyline where the workout has one. Daily metrics (steps, sleep, heart rate, HRV, energy, activity rings…) are likewise stored per day in your account. Route coordinates are filtered and thinned before they leave the device (points with horizontal accuracy > 50m dropped, minimum 8m spacing) — enough to redraw the route, not a full location history.
How data contributes to scores: among Apple Health data, step count, sleep duration and the duration of completed workouts contribute to the server-calculated activity, recovery and sleep scores. Imported workouts dated on or after the recorded Apple Health connection date contribute to daily training load. Zenori uses the effort rating (RPE) you enter for a workout; if you have not entered one, it uses a default estimate rather than deriving that rating from heart rate.
Imported workouts dated before the connection date may establish the historical training-load baseline (ACWR) and adjust the activity target, but they are not added to daily training load before that date. Resting heart rate, HRV and respiratory rate are not inputs to those three scores; they are used for the separately displayed stress level and biological-age estimate. SpO₂ is display-only. A coach's access to summaries remains subject to the sharing scope and time period you confirmed.
2.4. Data Zenori WRITES to Apple Health
Zenori writes two things: (1) an activity workout you started and finished in the app or on Apple Watch (running, cycling, swimming, strength, yoga…), with that session's duration and distance — so it shows up in Apple Fitness alongside your other workouts; (2) the GPS route of an outdoor session you record on Apple Watch, attached to that workout.
Zenori does not write:
- multi-exercise workouts you compose yourself, or coach-assigned sessions (these stay inside Zenori);
- heart rate, sleep, weight, body measurements, or any other metric (the heart-rate, energy and distance samples inside an Apple Watch workout are written by watchOS itself, not by Zenori);
- anything Zenori read from Health (nothing is written back in).
You can turn this write permission off at any time in Settings → Health → Apps → Zenori; the app keeps working without it.
2.5. Location (GPS) — during an active outdoor cardio recording
When you start an outdoor cardio session, Zenori uses While Using the App GPS to measure distance and pace. Route coordinates are filtered (drop fixes with horizontal accuracy > 50m, minimum 8m spacing) and encoded before storage. Location data is for route display only and is not a scoring input. GPS continues when you lock the screen or switch apps during an active recording. Zenori stops location updates when you pause, finish or discard the workout and does not request Always location permission.
2.6. Photos — add-only permission, and body progress photos
Zenori may request permission to add a photo to your Photos library, for one purpose only: saving the biological-age card when you choose to save it. Zenori does not read your photo library and does not access any photos automatically.
Body progress photos (before / after). This feature is optional and off by default. Photos leave your device only after you turn it on and confirm. Photos are organised as dated sets: each set holds up to 3 poses (front, side, back), and a new set can start only every 7 days. Once enabled they are held in a private bucket (never public), reachable only through short-lived signed links that expire in minutes, and only you can view them — even a coach you are matched with cannot see your photos. Photos leave Zenori only when you take them out: when you export a PDF report for your coach you may choose to include photos — off by default, and you tick each photo date yourself — and then send that file to whoever you choose. Consenting to store photos never automatically lets anyone else look.
Meal photos (meal scan). When you take or choose a food photo and tap analyze, the photo (plus any hint you typed) is sent to Zenori's server and passed to our AI provider (Anthropic) to identify the dish and estimate calories/macros. Zenori does NOT store meal photos on its own servers — the photo is forwarded for analysis and then discarded; what is saved to your log is the result (dish name, calories, macros), not the image. Under Anthropic's commercial terms, data sent through the API is not used to train their models; the AI provider may briefly retain inputs under its terms of service to operate and secure its systems. Meal photos are never used for advertising or tracking. Results are estimates — you review and edit before logging.
Retention: every account keeps its full set history — there is no cap on sets, and nothing deletes or hides photos automatically: starting a new set does not delete an older one, and no photo is ever deleted or hidden because of a billing event (for progress photos, Zenori Pro — see section 2.9 — only unlocks the side and back poses). Photos are deleted only when you delete them. You can delete any set, however old, at any time (which deletes the stored files, not just the references), and deleting your account removes them all. Before 2026-08-03 these photos were device-only; existing users must opt in explicitly — nothing is uploaded automatically.
2.7. Coaching data (if you use it)
You do not need a coach to use Zenori. When you choose to connect with your existing coach, you review their details and confirm the sharing scope before the connection takes effect. Your account and personal history stay intact.
For new connections, daily records are shared from the following day in your account timezone, within the categories you accept: nutrition, activity, workouts, daily wellness and measurements. Earlier private history is not automatically opened to the coach. Body progress photos, detailed HealthKit records and GPS routes are not part of this connection's sharing scope.
Connections already in place retain the ordinary tracking access they previously had; this change does not add access to photos or detailed HealthKit records. When a connection ends or expires, the coach no longer has access through that connection. The app user's account and history remain available for independent use.
| Data | Why collected |
|---|---|
| Assigned trainer, coaching sessions, assigned workouts | Displaying your coaching schedule and content |
| Invitations, accepted scopes, connection and end times | Confirming the relationship and limiting coach access |
| Coach profile and timezone | Setting up the workspace and training calendar |
| Messages, custom form answers and coach feedback | Communicating within the connection and preserving the answered form version |
Custom coaching answers are stored separately and do not automatically feed health scores. You retain your messages and answers after disconnection; coach access ends with the relationship.
The coach plan is separate from iOS Zenori Pro and from coaching fees agreed between a coach and client. The website does not currently charge for coach plans online or request card details during coach registration.
2.8. Technical data stored on the device
| Data | Why |
|---|---|
| Login tokens (access/refresh), user id, email, role — stored in the Keychain | Keeping you signed in between app launches |
| HealthKit connection status and sync anchor | Incremental workout-history import (no duplicates) |
We do not collect IDFA, there is no Advertising ID, and there is no ad tracking.
2.9. Zenori Pro subscription
Zenori offers an auto-renewable subscription, Zenori Pro (it unlocks the biological-age estimate and the side and back poses for body progress photos). Payment is processed entirely by Apple through the App Store — we never see or store your card number or payment details. On our servers we store only your account tier (free / Premium) and the subscription expiry date, so we know which features to unlock for you. Cancellation and refunds follow App Store rules — you manage the subscription in your Apple account settings. Cancelling does not delete any of your data; the Premium features simply lock again.
3. What we do NOT do
- We do not track you across other apps or websites.
- We do not advertise, build ad profiles, or use IDFA/Advertising ID.
- We embed no third-party analytics/advertising SDKs (no Firebase Analytics, Amplitude, Segment, AppsFlyer, Facebook SDK, etc.). The libraries bundled in the app are open-source technical libraries used for functionality only (they do not collect user data).
- We do not sell personal data.
- We do not share personal data with third parties for their own commercial purposes.
4. Where your data lives
Product data flows through Zenori's own server API (an authenticated REST API) and is stored in a database with infrastructure provided by Supabase (hosted PostgreSQL). The server application runs on Render. Infrastructure providers process data to provide the service to Zenori. Access to product data is controlled by the account and the user's permissions.
Data may be processed outside your country of residence. Contact privacy@zenori.fit for information about current storage locations and providers.
5. Authentication and security
- The iOS app signs you in through Zenori's server and contains no Supabase secret key. The website uses Supabase authentication; administrative keys are not sent to the browser.
- After login, the app receives a JWT token and stores it in the iOS Keychain with
AfterFirstUnlockThisDeviceOnlyprotection — the token does not sync to other devices. - The iPhone app has no password to store: you sign in with Apple, Google, or a link sent to your email. Passwords exist only for web coach accounts, where the authentication provider stores them as hashes; they are not held on your device.
- All communication with the server uses encrypted connections (HTTPS/TLS).
No method is perfectly secure, but we apply reasonable technical measures to protect your data.
6. Your rights
You have the following rights over your data:
- Access / view: view your data within the app.
- Edit: update your profile, goals, and records.
- Delete account: directly in the app (Account Settings → Delete Account). This is a permanent hard delete: your profile and all related data (workout, nutrition, measurement, check-in records, etc.) are deleted from our servers in a cascade, and your authentication account is revoked. This action cannot be undone.
- Withdraw permission: you can turn off HealthKit, Location, or Photos access at any time in iOS Settings. Withdrawing HealthKit access does not delete previously imported data — delete your account if you want all data removed.
- Password recovery — web coach accounts only: use the "forgot password or email not confirmed" link on the coach sign-in page; a recovery link is emailed to you. The iPhone app uses no password, so this step does not apply to it.
To exercise any right you cannot complete in the app, contact privacy@zenori.fit.
Depending on where you live, you may have additional rights under applicable law (e.g. GDPR in Europe, or personal-data protection law in Vietnam). We honor these rights.
7. Data retention and deletion
- We keep your data for as long as your account is active, to provide the service.
- When you delete your account, your data is permanently deleted from the active database as described in section 6. Backups, if any, are managed according to the infrastructure provider's configuration. Contact privacy@zenori.fit for specific backup-retention information or help with a deletion request.
8. Children
Zenori is intended for people aged 13 and older and is not directed to children below that age. If you believe a child has provided personal data to Zenori, contact privacy@zenori.fit so we can review and process the deletion request.
9. Changes to this policy
We may update this policy. For material changes, we will update the "Effective date" at the top and, where appropriate, notify you in the app. Continued use of the app after an update means you accept the updated policy.
10. Contact
For any privacy or data questions, contact:
- Email: privacy@zenori.fit
- Operator: Zenori