आपके कैलोरी ट्रैकर को आपके ईमेल की ज़रूरत नहीं है
MyFitnessPal, Cronometer, MacroFactor, Lose It!. इन सबको आपसे ईमेल, पासवर्ड, कभी-कभी जन्मतिथि और लिंग चाहिए, इससे पहले कि आप एक chicken breast भी लॉग कर सकें।
हमने Onyx Tenet को इस शर्त के बिना बनाया। डाउनलोड करें, खोलें, लॉग करें। आपके और आपके food diary के बीच कोई server नहीं।
यह पहला architectural decision था जो हमने लिया, और उसी ने बाकी सब तय किया।
वे क्यों पूछते हैं
एक calorie tracker को account चाहिए, इसके तीन कारण हैं, और इनमें से कोई भी यह नहीं है कि app को चलाने के लिए जरूरी है।
1. Ad targeting
MyFitnessPal और Lose It! ad-supported free tiers देते हैं। ईमेल address आपके usage data को उस identity से जोड़ता है जिसे ad networks target कर सकें। आपका food log एक behavioral signal बन जाता है: आप क्या खाते हैं, कब खाते हैं, कितनी consistency से track करते हैं। उस signal की value होती है।
MyFitnessPal की अपनी privacy policy user information को "marketing and advertising partners" के साथ साझा करने की बात मानती है और कहती है कि tracking cookies के कुछ uses लागू privacy laws के तहत "sales or sharing of personal information" हो सकते हैं। यह अनुमान नहीं है। यह उनका disclosure है।
2. Lock-in
जब आपका food log किसी और के server पर, उनके login के पीछे रहता है, तो बाहर निकलने का मतलब अपना data खोना है। सालों के meals, weight history, custom foods, recipes। Account feature नहीं है। यह एक moat है।
MyFitnessPal इसे structure में बदल देता है: CSV export Premium के पीछे $80/year पर locked है। Free users अपना data export नहीं कर सकते। आप data डाल सकते हैं, लेकिन बिना पैसे दिए उसे निकाल नहीं सकते।
3. Engagement metrics
DAU/MAU ratios, retention cohorts, funnel conversion rates। ये वो numbers हैं जिनकी investors और advertisers को परवाह होती है, और इनमें identifiable users चाहिए। एक anonymous user जो app रोज़ खोलता है, इन metrics के लिए invisible है। Account उस person को data point बना देता है।
MacroFactor तो free tier देता ही नहीं। Cronometer का free tier ads दिखाता है। हर major tracker ने अपना business model इस assumption पर बनाया है कि users accounts बनाएंगे। Account business के काम आता है। App उसके बिना भी ठीक चलेगा।
जब चीज़ें गलत होती हैं तो क्या होता है
अगर data सुरक्षित रहता, तो यह इतना बड़ा मुद्दा नहीं होता। लेकिन ऐसा नहीं होता।
फरवरी 2018 में, MyFitnessPal ने बताया कि एक unauthorized party ने 150 million user accounts तक पहुंच बनाई थी: usernames, email addresses, और hashed passwords। उस समय यह दर्ज इतिहास के सबसे बड़े data breaches में से एक था।
मार्च 2026 में, Cal AI (जिसने MyFitnessPal acquired किया था) को दूसरी breach का सामना करना पड़ा। Security researchers ने एक unauthenticated Firebase backend पाया, जो बिना किसी credentials के readable था। Exposed data में names, emails, dates of birth, gender, height, weight, health goals, macro targets, और timestamps के साथ meal logs शामिल थे। 14.59 GB data में 3.2 million user records। एक record 2014 में जन्मे बच्चे का था।
ये अलग-अलग घटनाएँ नहीं हैं। 2021 में, GetHealth नाम के एक fitness data aggregator ने एक unprotected database छोड़ दिया, जिसमें Fitbit, Strava, और Google Fit से खींचे गए 61 million records थे। Data एक ऐसे server पर पड़ा था जिस पर password ही नहीं था।
आपका food log, weight history, और email अब breach databases में हैं। शुरुआत में उन्हें किसी और के server पर होने की architectural जरूरत थी ही नहीं।
बिना account वाली architecture कैसी दिखती है
हमने इसके बजाय यह बनाया।
Local-first database. आपका food log, weight history, और custom foods आपके device पर local database में रहते हैं (iOS पर SwiftData, Android पर Room)। डिफ़ॉल्ट रूप से कुछ भी upload नहीं होता। Internet connection की जरूरत नहीं। App पूरी तरह offline काम करता है।
Core functionality के लिए server dependency नहीं। Meal log करना, barcode scan करना, history देखना, अपना adaptive TDEE चेक करना: इनमें से किसी के लिए network connection या user account नहीं चाहिए। Server critical path में नहीं है।
Public API के जरिए barcode scanning. Barcode lookups OpenFoodFacts का उपयोग करते हैं, जो community-maintained open database है। उनके end पर भी account नहीं चाहिए, हमारे end पर भी नहीं।
Full data portability. आपका data Settings की किसी भी screen से, किसी भी समय JSON file के रूप में export किया जा सकता है। यह सीमित weekly CSV नहीं है, और Premium-only feature भी नहीं। यह आपका data है। यह एक file है। नियंत्रण आपका है।
Anonymous analytics. हम usage analytics के लिए PostHog इस्तेमाल करते हैं, एक सख्त policy के साथ: कोई PII नहीं, कोई food log data नहीं, कोई weight data नहीं। Settings में analytics toggle से आप पूरी तरह opt out कर सकते हैं। जिन users ने cloud backup enable किया है, उनके लिए analytics continuity के लिए हम pseudonymous Firebase UID इस्तेमाल करते हैं। आपका email नहीं। आपका नाम नहीं।
"लेकिन अगर मेरा phone खो गया तो?"
यह ईमानदार counterargument है, और हम इसे गंभीरता से लेते हैं। अगर आपका data सिर्फ आपके device पर रहता है, तो device खोने का मतलब data खोना है।
तीन रक्षा-पंक्तियाँ:
JSON export. अपना data Files, iCloud Drive, Google Drive, या जहाँ भी आप files रखते हैं, वहाँ export करें। यह Settings में एक tap है। Export एक complete snapshot है: food log, weight history, custom foods, recipes, settings।
Platform backup. iOS और Android दोनों, अगर आपने उन्हें disable नहीं किया है, तो app data को क्रमशः iCloud और Google में automatically back up करते हैं। ज़्यादातर users के लिए, बिना कुछ किए ही data backed up रहता है।
Optional cloud backup. अगर आप explicit cloud backup चाहते हैं, जिसमें किसी भी device पर restore हो सके, तो Onyx Tenet यह देता है। आप email link से sign in करते हैं। हम उस email का एक ही काम के लिए उपयोग करते हैं: ताकि आप अपनी backups तक पहुँच सकें। Password नहीं। Profile नहीं। पारंपरिक अर्थ में account नहीं। अगर हम भविष्य में full accounts बनाते हैं, तो वे opt-in होंगे, और वे आपके लिए फायदेमंद कारणों से मौजूद होंगे, हमारे लिए नहीं।
मकसद यह नहीं कि backups बेकार हैं। मकसद यह है कि backup एक conscious choice हो, mandatory account creation नहीं जो data collection mechanism की तरह भी काम करे।
तुलना कैसी दिखती है
| MyFitnessPal | Cronometer | MacroFactor | Lose It! | Onyx Tenet | |
|---|---|---|---|---|---|
| Account required | Yes | Yes | Yes | Yes | No |
| Food log stored | Their servers | Their servers | Their servers | Their servers | Your device |
| Free tier ads | Yes | Yes | No free tier | Yes | No ads. Ever. |
| Ad network sharing | Yes | Yes (free tier) | No | Ad identifiers | No |
| Data export | CSV (Premium only) | CSV (all tiers) | Spreadsheet (subscribers) | CSV (weekly, web only) | JSON (full, anytime) |
| Annual price | $80/yr Premium | Gold (paid) | $72/yr | $40/yr | Free core |
Sources: हर company की current privacy policy और App Store listing। सभी claims publicly verifiable हैं।
Trade-offs
Local-first का मतलब असली trade-offs हैं। हम इसका दिखावा नहीं करेंगे।
By default automatic cross-device sync नहीं। आपका data उसी device पर रहता है जिस पर आपने उसे log किया। Cloud backup (opt-in) किसी भी device पर restore देता है, लेकिन multiple devices के बीच real-time sync नहीं। यह एक feature है जिसे हम बाद में जोड़ सकते हैं, और यह optional और encrypted होगा।
Local data के लिए password recovery नहीं। अगर आप export या backup किए बिना app delete कर देते हैं, तो आपका data चला जाता है। JSON export आपकी insurance policy है।
अपने backups की ज़िम्मेदारी आपकी है। हम आपको tools देते हैं (export, platform backup, cloud backup), लेकिन default यह है कि आपका data local रहे। यही तो पूरा मकसद है।
ये जानबूझकर लिए गए design decisions हैं, कोई चूक नहीं। दूसरा विकल्प वही है जो हर tracker करता है: पहले दिन से account मांगे, आपका data अपने server पर रखे, और उसे feature कहे।
Onyx Tenet को आपका email नहीं चाहिए। डाउनलोड करें, खोलें, लॉग करें। आपका data आपके device पर रहता है, जब तक आप खुद कुछ और न चुनें।
Onyx Tenet free है। Account की जरूरत नहीं।