# Security & Privacy Scorecard

## AntennaPod

## What This Means for You

Your podcast activity and listening history stay entirely on your device with no tracking or data sharing by default, though passwords saved for sync services or private feeds are stored in a way that could be read by someone with advanced technical access to your device's storage.

## Recommendation: Acceptable with Awareness

Privacy-respecting open-source app with no trackers and no data collection. The main concern is that login details for password-protected podcast feeds and sync services are stored on your device without extra protection, which matters if your phone is modified or someone has physical access with USB debugging turned on. Most users will never encounter this risk.

**Best For:** Privacy-conscious podcast listeners who do not use password-protected feeds or who only sync to a self-hosted HTTPS server

## Key Findings

**Data Security** - 4 findings (3 medium, 1 info)

**Network Security** - 3 findings (1 medium, 2 low)

**Code Safety** - 3 findings (2 low, 1 info)

**Privacy** - 2 findings (2 info)

## Privacy Concerns

### What Data is Collected

AntennaPod collects no personal data. The Play Store declaration of "No data collected" and "No data shared with third parties" is accurate based on this analysis.

- No account registration required
- No analytics or behavioral tracking
- No advertising identifiers collected
- Podcast listening history stays entirely on your device

### Third-Party Data Sharing

No third-party data sharing was identified in this analysis.

**Optional sync feature note:** If you choose to enable gPodder.net or Nextcloud sync, your podcast subscription list and episode playback history (including timestamps and positions) is sent to whichever server you configure. This feature is disabled by default and entirely under your control.

## Understanding the Scores

**Security:** 90/100

**Privacy:** 100/100

### Security Breakdown

- **Data Security:** 88/100 - Login details for password-protected feeds and sync accounts are stored without extra protection, posing risk on modified or USB-accessible devices
- **Network Security:** 94/100 - HTTP connections are permitted for podcast feeds (intentional, as many RSS feeds use HTTP) but also applies to sync server connections if configured with an HTTP address
- **Code Safety:** 97/100 - Verbose diagnostic logging in the production build includes internal feed URLs; an exported activity component accepts arbitrary URLs from other installed apps

### Privacy Breakdown

- **Data Collection:** 100/100 - No personal data, analytics, or device identifiers collected
- **Data Sharing:** 100/100 - No data shared with advertising, analytics, or any third-party services
- **User Control:** 100/100 - All sync and data features are opt-in and user-configured

## Positive Security Features

- No analytics or advertising SDKs present - zero third-party tracking of any kind
- JavaScript is disabled in all content viewers, preventing script-based attacks from RSS feed content
- Crash reporting is local-only with no data sent to any remote service
- All first-party network connections use HTTPS exclusively
- Play Store data safety declaration accurately reflects the app's actual behavior

## Areas for Improvement

### GDPR / CCPA Compliance

The app's privacy practices are already strong. They could be further strengthened by:

1. **Protected Login Detail Storage**
   Login details for password-protected podcast feeds and sync accounts are stored in standard app storage. Storing them in the system's protected secure storage would better safeguard users who share devices or are concerned about physical access.

2. **Sync Connection Restrictions**
   The sync feature allows connections to HTTP addresses, which sends login details over an unencrypted connection. Restricting sync to HTTPS addresses only would eliminate this risk.

### Security Enhancements

1. **Reduce Diagnostic Logging in Production Builds**
   Verbose diagnostic messages in the production release include internal podcast feed URLs and network retry details. Limiting log output in production builds would reduce the amount of sensitive information visible in device logs.

2. **External Storage on Database Error**
   When the app encounters a database error, it copies the database file (which includes stored login details) to a location that is more accessible than normal app storage. Excluding login detail columns from this backup would reduce exposure.

## Technical Context

**App Type:** Open-source podcast manager and player (Music & Audio)

**Classes Analyzed:** 1,200

**Third-Party Services:** 14 (open-source libraries and podcast directory APIs only - no advertising or analytics services)

**Context Tags:** sensitive_data

---

## About This Analysis

This security analysis was conducted by CITT (Can I Trust That), an independent security analysis service. We perform static code analysis on Android applications to help users make informed decisions about app security and privacy.

### App Details

**Developer:** AntennaPod Open Source Team

**Version:** 3.11.2 (versionCode 3110295)

**Analysis Date:** 2026-04-14

**Package:** de.danoeh.antennapod

### Analysis Limitations

- Static analysis only (code review without running the app)
- Based on APK version 3.11.2 analyzed on 2026-04-14
- May not reflect server-side security controls
- Cannot detect all runtime behaviors
