Privacy Policy

Last updated: September 19, 2026

Introduction

PodcastCodex ("we", "our", or "the app") is committed to protecting your privacy. This Privacy Policy explains how we handle information when you use our iOS application.

Information Stored on Your Device

PodcastCodex is designed with privacy as a core principle. No account is required to use the app. The following data is stored locally on your device using SwiftData:

  • Subscriptions: The podcasts you follow and their feed details.
  • Playback Positions: Your progress within each episode.
  • Downloads: Episodes you have downloaded for offline listening.
  • Preferences: Settings such as playback speed and theme choices.
  • Downloaded Codex Data: Codex entries you have saved for offline use.

Your listening history and playback positions never leave your device. Our servers do not record which episodes you play or how far you get.

Account and Sign-In

No account is required to listen. On first launch the app creates an anonymous Firebase Authentication identity (a random user id, or "uid") so the app can use server features without asking you for anything. This anonymous uid carries no name, email, or other personal details.

The uid is used server-side only to keep track of:

  • Purchase entitlements: which shows you have unlocked and your subscription status.
  • Wish requests: which catalog shows you have asked us to cover.
  • Push tokens: the device token used to deliver "codex ready" notifications you opted into.

You can optionally link your identity using Sign in with Apple. Apple shares only the name and email address you choose to share (including a private relay address if you pick one). We store the returned credential so your purchases and wishes can follow you across devices.

Server Side Analysis

To power the codex for supported shows, episodes of public podcasts are processed on servers operated by ForgeApps.

  • Public Episodes Only: Only episodes of public podcasts are analyzed.
  • Shared Results: The resulting codex entries are served to all users of that show.
  • Private Feeds Stay Private: Private or paywalled feed URLs are used on your device only. They are never sent to our servers and are never included in analysis.

Purchases and Entitlements

PodcastCodex offers per-show unlocks and an optional auto-renewable subscription ("allaccess"). All transactions are processed by Apple through StoreKit. We never see, collect, or store your card details.

To serve paid codex bundles, our servers store the entitlement verdict for your uid: which shows you have unlocked and whether your subscription is active. These verdicts are verified against Apple's signed transaction data (App Store Server Notifications and receipt verification), not self-reported by the app.

Analytics and Crash Reporting

The app uses Google Firebase for two limited purposes:

  • Firebase Analytics: Anonymous usage events such as screen views and feature usage. Events are counts and enums only; they contain no show titles, episode content, feed URLs, or playback positions.
  • Firebase Crashlytics: Crash reports containing device model, OS version, and stack traces, used to find and fix bugs.

Analytics data is not linked to advertising identifiers and is not used for ads.

Notifications

If you opt in to push notifications, the app stores an Apple Push Notification service (APNs) token on our servers, tied to your uid and device. It is used only for "codex ready" notices on shows you have wished for.

Reminders about new episodes and completed downloads are scheduled as local notifications on your device. They are generated and delivered entirely on-device and never leave it.

Wish Requests

When you wish for a codex on a show we do not cover yet, we store which catalog show your uid asked for. Wishes are a demand signal that helps us choose which shows to analyze next; they are not shared or sold.

App Check

Calls to our servers carry a Firebase App Check attestation token (backed by Apple DeviceCheck/App Attest) so the backend can tell genuine installs from abuse. The attestation contains no personal data and is not linked to your identity.

Account Deletion

You can delete your account from inside the app (Settings > Account > Delete account). Deletion removes the following server-side records tied to your uid:

  • Your authentication user (anonymous or Apple-linked).
  • Entitlement documents recording your unlocks and subscription status.
  • Push notification tokens for your devices.
  • Wish requests you have made.

Purchases made through Apple are part of your Apple purchase history and are not deleted; the Restore purchases action can re-deliver them on any device signed into the same Apple ID. Data stored locally on your device (subscriptions, playback positions, downloads) is unaffected by account deletion and is removed only when you delete the app or clear it yourself.

Data Retention

  • Account data (entitlements, wish requests, push tokens): retained while your account exists and deleted on account deletion.
  • Push tokens: also removed when APNs reports a token invalid or you disable notifications.
  • Crash reports: retained by Firebase Crashlytics for up to 90 days.
  • Analytics events: retained per Firebase Analytics defaults (up to 14 months, aggregated and anonymous).
  • Local data: stays on your device until you delete it or remove the app.

What We Do Not Do

  • We do not show advertising.
  • We do not sell personal data.
  • We do not track you across other apps or websites.
  • We do not send your listening history, playback positions, or private feed URLs to our servers.

Children's Privacy

PodcastCodex is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe we have inadvertently collected such information, please contact us so we can promptly address the issue.

Contact Us

If you have any questions or concerns about this Privacy Policy or our practices, please visit our support page or reach us via GitHub.

Changes to This Policy

We may update this Privacy Policy from time to time. Any changes will be reflected on this page with an updated revision date. We encourage you to review this policy periodically.