Stub — Privacy Policy
Stub — Daily Receipt ("Stub", "the app", "we") is built by Harjot Singh. This policy explains what data Stub collects, where it goes, and your rights over it.
1. ACCOUNT
To use Stub you create an account with an email and password (or sign in to an existing one). We store the following on Google Firebase:
- Email address — used to sign you in and to send password resets.
- Display name (optional) — shown on your Profile.
- Account metadata — created-at timestamp, last-seen timestamp, time zone, and an
app: "stub"tag identifying the account as a Stub user. Authentication is handled by Firebase Authentication; passwords are never stored by us in plaintext.
2. WHAT STUB READS FROM YOUR DEVICE
Stub reads a small slice of data from Apple's native frameworks once per day to assemble your daily receipt. Each permission is granted explicitly during onboarding and can be revoked anytime in iOS Settings.
- Health (HealthKit) — step count, today's top workout, last night's sleep duration. Read-only.
- Location (Core Location) — a single coarse fix per day to fetch local weather.
- Photos (PhotoKit) — count of today's photos. Photo content never leaves the device.
- Calendar (EventKit) — count of today's events and the title of the longest one.
- Reminders (EventKit) — count of today's reminders (total + completed).
- Weather (WeatherKit) — today's high/low and condition for your location.
3. WHAT WE SEND TO THE SERVER
When a daily receipt is generated, the app uploads a structured summary to your account on Google Firestore at /stub_users/{your-uid}/receipts/{date}. The uploaded document contains only aggregate counts and metadata, never the raw underlying data:
- Date, theme ID, created-at timestamp
- Step count, sleep hours, photo count, event count, reminder counts
- Workout type and duration (if any)
- Longest event title
- Location name (e.g. "Cupertino") and weather summary line (e.g. "72°/58° Sunny")
What we do NOT upload: Actual photo files, raw Health samples, your calendar event details (only the longest event's title), reminder text, or precise GPS coordinates.
4. WHO CAN READ IT
Firestore security rules ensure that only requests authenticated as your account can read or write to your /stub_users/{your-uid} document and its receipts subcollection. Other Stub users cannot access your data.
5. THIRD PARTIES
- Google Firebase (Authentication + Firestore) — operated by Google. Subject to Firebase's privacy policy. Hosted on Google Cloud.
- Apple WeatherKit — Apple receives your coarse location to return today's weather. Subject to Apple's privacy practices.
No advertising SDKs, no analytics SDKs, no third-party trackers.
6. SHARING
Tapping "Share your Stub" renders the receipt as an image on-device and hands it to iOS's standard share sheet. Where it goes from there is your choice and is governed by the destination app's policy.
7. NOTIFICATIONS
If granted, Stub schedules a single local notification at 10pm reminding you to print your Stub. Local notifications never leave your device.
8. YOUR RIGHTS
- Access — your data is visible to you anytime in the app's Profile and Dashboard.
- Delete — Profile → "Delete account" removes your
/stub_users/{your-uid}document and your auth record. Local SwiftData copies remain on your device until you delete the app. - Export — email harjotsingh7785@gmail.com and we'll send your raw data within a reasonable time.
9. CHILDREN
Stub is not directed to children under 13. We do not knowingly create accounts for children.
10. CHANGES
If this policy ever changes, the updated version will be posted at this URL with a new effective date. Material changes will be surfaced in-app on next launch.
11. CONTACT
Questions? Email harjotsingh7785@gmail.com.