🔒

Privacy Policy

Effective date: April 22, 2026

We collect only what's needed. We never sell your data.

📋

Overview

This Privacy Policy explains what data Serializd Tracker Bot ("the Bot", "we", "our") collects when you add it to a Discord server or interact with its commands, how that data is used, how long it is kept, and what controls you have over it. We are committed to collecting only the minimum data necessary to operate the Bot's features.

📥

Data We Collect

All data is stored in a private SQLite database. Here is exactly what is stored and why:

Server (Guild) Configuration

  • Discord Guild ID and server name
  • Channel IDs you configure for diary posts, commands, changelogs, episode announcements, and recaps
  • Custom embed colour, timezone, and ping role preferences
  • 20+ diary and group diary display toggle settings
  • Anonymous mode toggle (whether your server name appears in global leaderboards)
  • Permission group assignments (admin / mod / user roles)

Purpose: To deliver diary posts and responses to the correct channels with your chosen settings.

Tracked Serializd Usernames

  • Serializd usernames added via /adduser, the guild ID they belong to, and when they were added
  • Optionally, a Discord User ID → Serializd username mapping if configured

Purpose: To know which Serializd accounts to poll and where to post new diary entries.

Diary Entry Activity

  • IDs of diary entries that have already been posted, stored for 14 days to prevent duplicate posts
  • Aggregated statistics per entry (show name, show ID, username, guild ID, posted timestamp) stored for 90 days
  • Temporarily buffered group diary entry JSON for the group diary feature (held until the grouping window closes)

Purpose: Deduplication, per-server statistics, and group diary bundling.

Watching List & Episode Tracking

  • Show IDs, names, TVMaze IDs, and poster URLs for shows on your server's current watching list
  • Episode IDs and air dates for episodes that have already been announced, to prevent duplicate episode alerts

Purpose: Episode announcement feature.

Share Links (Voluntary)

  • Discord display name and User ID
  • Profile URLs voluntarily submitted by the user for any combination of: Serializd, Letterboxd, Backloggd, BookDigits, Instagram, X (Twitter), YouTube, TikTok, Twitch, Spotify, Goodreads, StoryGraph
  • The Discord message ID and channel ID of the posted share card
  • Submission timestamp

Purpose: Displays a community profile card in your server. This data is entirely optional and user-initiated.

User Preferences

  • A per-user timezone preference set via /timezone (defaults to Europe/Copenhagen)

Purpose: Displaying timestamps in your local time.

Settings Audit Log

  • A log of every admin setting change, including: guild ID, the Discord User ID and display name of who made the change, the setting name, old value, new value, and timestamp

Purpose: Allows server admins to audit configuration changes via their configured audit log channel.

Command Usage Statistics

  • Guild ID, command name, Discord User ID, and timestamp for each command invocation

Purpose: Internal analytics to understand feature usage and improve the Bot. This data is not shared externally.

TVMaze Cache

  • TV show metadata from the TVMaze public API: show name, TVMaze ID, status (Running/Ended), poster image URL, runtime, premiere year

Purpose: Reduces redundant calls to the TVMaze API. Cached data is refreshed periodically. No personal data is involved.

🚫

What We Do NOT Collect

  • Message content or conversation history from your Discord server.
  • Passwords, authentication tokens, or any credentials.
  • Private Serializd account data — only publicly visible diary entries are accessed.
  • IP addresses or device information.
  • Payment or financial data of any kind.
  • Email addresses.
🔗

External Services We Contact

The Bot communicates with the following external services to function. All connections are over HTTPS.

Serializd.com API

The Bot polls the public Serializd API approximately every 5 minutes to check for new diary entries for each tracked username. It sends only the Serializd username and receives publicly available diary entry data (show title, episode, rating, tags, watch status). No authentication credentials are sent. The Bot retries failed requests with exponential backoff and respects rate limit (HTTP 429) responses.

TVMaze API

Show names and IDs are sent to the TVMaze public API to retrieve metadata such as episode air dates, poster images, and show status. No API key is required. Results are cached for up to 30 days to minimise repeated calls.

Discord API

All standard Discord bot communication is performed through Discord's official API in accordance with Discord's Privacy Policy.

Top.gg (Optional)

If configured, the total number of servers the Bot is in is periodically reported to Top.gg for the Bot's public listing. No user or server-specific data is sent — only a guild count.

Owner Webhook Logging (Internal)

Certain operational events are sent to a webhook and gives: guild joins/removals (including server name and member count), user additions/removals, API errors, and rate limit warnings. This is used solely for operational monitoring and is not shared with third parties.

🗂️

Data Retention

14

Days — Seen Entries

Diary entry IDs used for duplicate detection are purged after 14 days.

90

Days — Entry Statistics

Aggregated per-entry stats used for the /stats command are automatically deleted after 90 days.

48h

Hours — After Bot Removal

All data associated with a server (tracked usernames, settings, stats, share links, watching lists, audit logs, etc.) is permanently and automatically deleted 48 hours after the Bot is removed from that server.

Indefinite — While Bot is Active

Guild configuration, role settings, share links, user preferences, and TVMaze cache are kept for as long as the Bot remains in your server.

🛡️

Your Privacy Controls

The following built-in commands give you control over your data:

/privacy

Displays a summary of what data the Bot stores for your server, including tracked usernames and configuration.

/listusers

Lists all Serializd usernames currently being tracked in your server.

/removeuser

Removes a Serializd username from tracking. Associated seen-entry records are deleted immediately.

/clearallusers

Removes all tracked usernames from your server in one action.

/setanonymous

Toggles your server's participation in global statistics and leaderboards. When enabled, your server name is hidden from public-facing stats.

/clearsharelink

Permanently removes a user's share link card and all associated profile URL data from the database.

/timezone

Sets your personal timezone preference. You can remove this preference by contacting support.

To request complete deletion of all data for your server, remove the Bot — all data will be purged within 48 hours. For individual data deletion requests or any other privacy concern, contact us via our support server.

📊

Global Statistics & Leaderboards

The /stats command can display global leaderboards showing the top 20 most-active watchers, servers, and trending shows across all servers using the Bot. By default, server names are included in these rankings. You can opt your server out entirely using /setanonymous. Individual Serializd usernames that appear in leaderboards reflect publicly available activity data.

🔐

Security Practices

  • All external API requests use HTTPS with Brotli/gzip compression where available.
  • The database uses prepared statements to prevent SQL injection.
  • Database uses WAL (Write-Ahead Logging) mode with foreign key constraints and automatic rollbacks on errors.
  • Rate limiting is enforced per-user, per-channel, and globally to protect against abuse.
  • A circuit breaker system prevents cascading failures from API outages.
  • Sensitive configuration (tokens, webhook URLs) is stored as environment variables, never in the database.
📝

Changes to This Policy

We may update this Privacy Policy from time to time. When we do, we will update the effective date at the top of this page. We encourage you to review this page periodically. Continued use of the Bot after changes are posted constitutes your acceptance of the revised policy.

✉️

Contact & Data Requests

For privacy questions, data deletion requests, or any other concern, please reach out via our Discord support server:

Join Support Server →

Your privacy, your choice.

We collect only what's necessary. Add the bot and track your shows with confidence.