Marcus Privacy Policy

Marcus Privacy Policy

Effective date: July 5, 2026

Controller: Fabian S. Klinke / studio.klinke, Jülicher Str. 11, D-13357 Berlin, Germany

Contact: info@klinke.studio

This policy covers Marcus for iPhone. Marcus is a Screen Time-powered focus app with optional account sync, optional social leaderboard features, and optional repeatable in-app support payments.

Short Version

  • Marcus needs sensitive iPhone permissions to work: Screen Time, notifications, and, if you enable related features, Health, Location, and Contacts.
  • Your rules, Screen Time selections, streaks, and app state are stored locally and sync through Supabase when sync is available.
  • HealthKit sleep and workout samples are used on-device for smarter rules. Marcus currently requests read access only and does not upload raw HealthKit samples.
  • Contacts are used locally for address shortcuts. For friend discovery, Marcus uploads SHA-256 hashes of normalized emails and phone numbers, not raw contact values.
  • Social sharing is opt-in and requires a full account. Friends can see only the profile and aggregate leaderboard fields described below, not your detailed app, category, or web-domain usage.
  • StoreKit support payments are processed by Apple. Marcus does not receive payment-card details.
  • Marcus uses Sentry for crash, error, performance, and diagnostic reporting.
  • Marcus does not sell personal data, does not use third-party advertising trackers, and does not use your data for targeted advertising.
  • You can contact us to access, correct, export, delete, restrict, or object to processing of your personal data where those rights apply.

Data Marcus Handles

AreaDataWhere it is storedWhy
Account and sync identitySupabase user ID, anonymous-account state, full-account state, email address for email accounts, Sign in with Apple identity token during sign-in, local auth cache, installation ID, device platform/model/name, and last-seen sync metadataSupabase Auth and owner-scoped device rows; local app group cacheCreate or convert accounts, keep sync working, authenticate social features, and identify the current install for sync
Rules and blockingRule names, schedules, enabled state, rule type, usage limits, adult-content-filter toggle, streak state, deleted-rule tombstones, selected apps/categories/websites, and encoded Screen Time selection dataLocal SwiftData/app group storage; Supabase block_rules and related owner-scoped tablesApply Screen Time rules, sync rules across installs, restore app state
App stateAlways Allowed selections, Block Now state, daily break state, and related encoded app-state snapshotsLocal SwiftData/app group storage; Supabase app_state_snapshotsRestore and sync global blocking state
Location rulesCurrent location while the app checks rules, saved rule latitude/longitude/radius, monitored-region stateLocal device storage; Supabase rule rows when sync is activeActivate rules at selected places
Screen Time statsAggregate usage totals, targeted totals, daily usage points, top-app display names, bundle identifiers, and Screen Time token data used for local statsLocal stats cacheShow usage and streak information in the app
LeaderboardDisplay name, optional profile photo path, daily aggregate iOS Screen Time total, rolling 7-day aggregate total, weekly coverage, longest focus streak, and whether today is brokenSupabase profiles, private profile-images storage, friendships, and leaderboard_snapshotsOptional profile and friend leaderboard sharing
ContactsPostal-address contacts for location shortcuts; your optional discovery phone number; normalized email/phone identifiers for friend discoveryPostal-address contact data and your optional discovery phone number are used locally; friend-discovery hashes are stored in Supabase profile_contact_hashesSuggest saved addresses and find friends who also use Marcus
HealthKitSleep analysis and workout samples, derived sleep/workout rule state, local query anchorsLocal device/app group cacheRun sleep-aware and workout-aware rules
NotificationsLocal notification authorization state and notification preference togglesLocal device/app group storageSend rule boundary and usage notifications
DonationsStoreKit product ID, purchase state, verified transaction result needed to finish the transactionApple App Store / StoreKit; transient app stateProcess optional repeatable support payments
DiagnosticsCrashes, errors, app checkpoints, logs, performance traces/profiles, OS/device data, IP/network metadata collected by the diagnostic provider, memory-pressure context, subsystem/operation/file/line metadata, and diagnostic context attached to unexpected software failuresSentryFind and fix reliability problems
SupportMessages and attachments you send to supportThe support channel you useRespond to requests and debug issues you report

Screen Time selections and usage summaries can reveal sensitive habits. Marcus treats rule targets, usage totals, location rules, contact hashes, and HealthKit-derived rule state as sensitive data even when a value is not directly readable by another person.

Data Marcus Does Not Collect

Marcus does not intentionally collect or upload:

  • payment-card numbers, bank details, or App Store account billing credentials;
  • raw HealthKit sleep or workout samples to Supabase;
  • raw address-book email addresses or phone numbers for friend discovery;
  • detailed app/category/web-domain usage to friends;
  • advertising identifiers for third-party ad targeting;
  • data for sale, cross-context behavioral advertising, or third-party ad networks.

The app does not use HealthKit data for advertising, does not sell HealthKit data, and does not share HealthKit data with third parties except as needed for the user-facing Marcus feature you enabled.

Permissions

Screen Time

Marcus uses Apple’s Screen Time, Family Controls, Device Activity, and Managed Settings APIs to select apps, categories, and websites, apply shields, calculate usage, and show stats. Marcus stores the selections and rule configuration needed to apply the rules you create.

Health

If you grant Health access, Marcus reads sleep analysis and workout data so sleep-aware and workout-aware rules can work. HealthKit data is used locally. Marcus currently requests read access only and does not write Health data.

Marcus does not use HealthKit data for advertising, marketing, profiling, or other use-based data mining. Health permissions can be changed in the Apple Health app or iOS Settings.

Location

If you enable location-based rules, Marcus uses your current location and saved rule coordinates/radii to decide whether a rule should apply. Marcus does not build a route history. Location-based rule coordinates may sync with your account because they are part of the rule.

Contacts

Marcus uses Contacts in two ways:

  • address shortcuts read names and postal addresses locally so you can choose rule locations faster;
  • friend discovery reads contact emails and phone numbers locally, normalizes them, hashes them with SHA-256, and sends only those hashes to Supabase for matching.

Hashing reduces exposure but does not make contact data anonymous in every legal sense. Treat friend-discovery hashes as personal data.

Notifications

Marcus uses notifications for rule boundaries and usage reminders. Notification settings are stored locally.

Optional Social Sharing

Social features require a full account. When you enable leaderboard sharing, Marcus publishes a profile and aggregate leaderboard snapshot to Supabase.

Accepted Marcus friends may see:

  • your chosen display name;
  • your profile photo, if you add one;
  • your daily aggregate iOS Screen Time total;
  • your rolling 7-day aggregate iOS Screen Time total;
  • whether your current weekly data coverage is complete;
  • your longest focus streak;
  • whether a streak broke today;
  • whether today is broken.

Friends do not receive your detailed app list, category list, website list, raw Screen Time report, raw HealthKit data, location rules, or contact list.

Third-Party Services

ServiceRoleData involved
Apple App Store, StoreKit, App Store ConnectApp distribution, in-app purchases, refunds, TestFlight, device platform servicesApp Store account/payment data handled by Apple; StoreKit transaction state visible to Marcus only as needed to complete the purchase
Apple Screen Time / Family Controls / Device Activity / Managed SettingsCore blocking and stats APIsScreen Time authorization, selections, shielding state, and usage data on device
Apple HealthKitOptional sleep/workout rule inputSleep analysis and workout samples on device
Apple Contacts, Core Location, UserNotificationsOptional address shortcuts, location rules, and local notificationsContacts, location, and notification authorization/data as described above
Apple iCloud / CloudKitLegacy migration path for existing Marcus dataExisting local/iCloud Marcus data may be imported and then uploaded through Supabase sync
SupabaseAuth, database, storage, sync, social profiles, friend matching, leaderboardAccount, sync, profile, hashed contact, friendship, leaderboard, and profile-image data
SentryCrash, error, performance, profiling, and diagnostic reportingDiagnostic data and metadata described above

Marcus also includes open-source software dependencies, including Supabase Swift, Sentry Cocoa, Swift Crypto, and Swift Certificates. Those libraries help the app run; they are not used as advertising trackers.

Third-party providers must protect user data consistently with this policy and applicable law. Marcus does not authorize providers to use Marcus user data for their own advertising or data-broker purposes.

If GDPR, UK GDPR, or similar laws apply, Marcus relies on these legal bases:

  • contract: to provide app functionality, account sync, StoreKit support payments, and requested support;
  • consent, including explicit consent where required: for optional permissions such as Health, Location, Contacts, notifications, social sharing, and Apple account authorization where consent is required;
  • legitimate interests: to maintain security, debug crashes, prevent abuse, and improve reliability;
  • legal obligations: to comply with tax, accounting, consumer, app-store, and legal requirements.

You can withdraw device permissions in iOS Settings. Withdrawing a permission may disable the feature that depends on it.

Retention

Marcus keeps local data until you delete it in the app, remove the app, reset the relevant device permission/storage, or your device removes it.

Supabase account, sync, profile, friend, hashed-contact, profile-image, and leaderboard data is kept while your account or the relevant feature remains active. You can request deletion. Some data may remain for a limited period in backups, security logs, diagnostics, or records we must keep for legal reasons.

Sentry diagnostic data is kept for a limited diagnostic period according to the project and provider settings, then deleted or aggregated. Diagnostic events may not always be tied to a Marcus account, so some deletion requests can be fulfilled only when the relevant event can be reasonably identified.

Apple controls App Store purchase records and refund history under Apple’s own terms and privacy policy.

Your Choices And Rights

Depending on where you live, you may have rights to access, correct, delete, export, restrict, or object to processing of your personal data. You may also have rights to withdraw consent or appeal a privacy-rights decision.

To make a request, contact info@klinke.studio. We may need to verify that the request relates to your account or device.

You can also control many categories directly:

  • revoke Screen Time, Health, Location, Contacts, or notification permissions in iOS Settings;
  • turn off leaderboard sharing in Marcus;
  • remove profile details or profile photos in Marcus;
  • delete rules or change their targets;
  • permanently delete your account and associated Supabase data from Account settings;

California and other U.S. state privacy laws: Marcus does not sell personal information and does not share personal information for cross-context behavioral advertising.

Washington and similar consumer-health laws: Marcus does not sell consumer health data. Health-related data is processed only to provide the Marcus features you enable, and raw HealthKit samples are not uploaded to Supabase. See the Consumer Health Data section below for more detail.

If GDPR, UK GDPR, or similar laws apply, you may also complain to a supervisory authority. For the Berlin controller, the local authority is the Berliner Beauftragte für Datenschutz und Informationsfreiheit, datenschutz-berlin.de. You may also contact the authority in the place where you live, work, or believe an infringement happened.

Consumer Health Data

Marcus may handle health-related data when you enable HealthKit sleep/workout rules or when focus/streak information could imply something about your routines or wellbeing.

Categories:

  • sleep analysis and workout samples read from HealthKit;
  • derived sleep/workout rule state and local query anchors;
  • focus rules, Screen Time totals, streaks, and broken-today status where they may imply habits or wellbeing.

Sources:

  • you and your device;
  • Apple HealthKit, only after you grant permission.

Purposes:

  • run sleep-aware and workout-aware rules;
  • show rule, stats, and streak state;
  • support optional aggregate leaderboard sharing only for the fields listed in this policy.

Sharing:

  • raw HealthKit samples are not uploaded to Supabase;
  • aggregate leaderboard fields may be shared with accepted Marcus friends if you enable leaderboard sharing;
  • unexpected software failures may be reported to Sentry with diagnostic metadata, but Marcus does not intentionally attach raw HealthKit samples to those reports;
  • no consumer health data is sold or shared for advertising.

You may withdraw Health permission in Apple Health or iOS Settings. You may request access or deletion by contacting info@klinke.studio. Some local data is controlled by your device and can be removed by changing permissions, deleting local app data, or deleting Marcus.

Children

Marcus is not directed to children under 13. If you are under the age required to use Marcus in your location, use Marcus only with a parent or guardian’s permission. If you believe a child provided personal data without appropriate permission, contact info@klinke.studio.

International Transfers

Marcus uses providers that may process data in more than one country. Where required, Marcus relies on provider data-processing terms, Standard Contractual Clauses, adequacy decisions, or similar safeguards for international transfers.

Security

Marcus uses platform security features such as iOS app sandboxing, local file protection, Supabase Row Level Security for exposed tables, private Supabase storage for profile images, owner/friend access policies for social data, and short-lived signed URLs for profile images.

No app or network service can guarantee perfect security. Please protect your Apple ID, device passcode, and Marcus account credentials.

Changes

We may update this policy when Marcus changes or legal requirements change. If a change materially affects your rights or how Marcus handles sensitive data, we will provide a reasonable notice path, such as an in-app notice or release note.