portel app icon

portel.

An iOS app that intercepts the impulse to open social media and replaces it with a short guided mindfulness session.


about the app

What portel does

portel is a screen time and mindfulness app for iOS. Users select apps they want to limit — typically social media — and set time windows during which those apps are blocked. When a user attempts to open a blocked app, portel intercepts the action and guides them through a brief 60–90 second visualisation exercise before they can proceed.

The goal is to turn an automatic, habitual behaviour into a moment of deliberate reflection. Over time this is intended to reduce compulsive phone use and support users in building a clearer sense of personal goals.


legal

Privacy Policy

Last updated: 7 May 2026

Developer

portel is developed and operated as an independent iOS application. For questions or concerns regarding this policy, contact us at hello@portel.app.

Information We Collect

portel collects the following information, provided directly by the user during onboarding:

  • First name
  • A personal goal or intention
  • A description of the user's desired future state
  • Mood scores and responses entered during sessions

This information is stored locally on your device and used to personalise session content. It is also synced to portel's cloud database (Supabase) to enable account restore on a new device and to generate AI sessions.

Screen Time Data

portel uses Apple's Screen Time framework (com.apple.developer.family-controls entitlement) to block apps selected by the user on their own device. The entitlement is held by the main app (com.portel.app) and its two system extensions — a shield configuration extension (com.portel.app.shield) and a device activity monitor extension (com.portel.app.monitor) — which Apple requires to each carry the entitlement.

Authorization is requested using AuthorizationCenter.shared.requestAuthorization(for: .individual) — the individual mode, meaning the user authorises control of their own device only. The family mode, which would allow managing a child's device, is not used. All app blocking is applied via ManagedSettingsStore and scheduled via DeviceActivityCenter entirely on-device.

When a session is triggered, portel can identify which app the user attempted to open (via the app token the user selected). No other Screen Time data is accessed.

portel does not access, record, store, or transmit browsing history, app usage totals, daily screen time reports, or any Screen Time data beyond the specific app tokens the user selects for blocking.

AI-Generated Session Content

Session content is generated using the Claude API (Anthropic, Inc.). The API key is stored server-side and is never present in the app binary. To generate a session, the following data is transmitted to Anthropic's API:

  • The user's name and goal (as entered during onboarding)
  • Recent mood scores

Generated session content is saved to the user's account in portel's cloud database (Supabase) to populate session history. No data is sold to third parties. No data is used for advertising or profiling.

Data Storage and Retention

portel uses a local-first architecture. The following data is stored on your device and is the primary source the app reads from:

  • Onboarding data (name, goal, vision)
  • Session history and generated session content
  • Mood scores and session responses
  • Streak and progress data
  • App preferences and settings
  • Your selected apps and blocking schedule (stored in a shared on-device container accessible to portel's system extensions)

This data is synced asynchronously to your account in portel's cloud database (Supabase) in the background. The sync enables account restore when you install portel on a new device. The core blocking and session features function on-device and do not require an active network connection.

Account credentials are managed via Supabase Auth. Uninstalling the app removes local data from your device; your account and synced data remain in Supabase until you request deletion. To request permanent deletion of your account and all associated data, contact us at hello@portel.app.

Subscriptions and Payments

portel is available on a subscription basis. All payments are processed through Apple's App Store. portel does not collect or store payment card information. Subscription entitlements are managed via RevenueCat, which receives a device identifier and purchase receipt to verify and maintain your subscription status.

Subscriptions renew automatically at the end of each billing period unless cancelled at least 24 hours before renewal. Free trials convert to paid subscriptions if not cancelled before expiry.

To cancel: iOS Settings → Apple ID → Subscriptions → portel.

Third-Party Services

portel uses the following third-party services:

  • Supabase — cloud database, authentication, and account sync. User data is stored locally on-device and synced to Supabase in the background for cross-device restore. Subject to Supabase's privacy policy.
  • Anthropic (Claude API) — AI session generation. Name, goal, and recent mood scores are transmitted per session. Subject to Anthropic's privacy policy.
  • RevenueCat — subscription and entitlement management. Receives device identifiers and purchase receipts. Subject to RevenueCat's privacy policy.
  • Apple App Store — payment processing for subscriptions.

No analytics SDKs, advertising networks, or data brokers are integrated into portel.

Children's Privacy

portel is not directed at children under 13 years of age and does not knowingly collect personal information from children under 13. If we become aware that such information has been collected, it will be deleted promptly.

Changes to This Policy

We may update this privacy policy from time to time. When we do, the "Last updated" date at the top of this page will be revised. Continued use of the app after changes are posted constitutes acceptance of the updated policy.

Contact

For any questions about this privacy policy or how your data is handled, please contact us at hello@portel.app.