Who we are and what this policy covers
Catbird is an independent app for Bluesky and the AT Protocol network. This policy covers the release version of Catbird for iPhone and iPad, Catbird’s supporting services and catbird.blue. “Catbird,” “we” and “us” mean Josh LaCalamito, United States. For privacy requests, support or abuse involving Catbird’s services, contact [email protected].
Your account provider, also called a Personal Data Server or PDS, hosts your account. Bluesky and other network services handle feeds, ordinary Bluesky messages and other network functions under their own policies. For Bluesky-hosted services, see Bluesky’s Privacy Policy. This policy does not govern every independent service or person who receives public network content.
Sign in and account requests
Nest is Catbird’s server. In the normal OAuth sign-in flow, Catbird opens your account provider’s authorization page. You enter your password there and authorize access; your password goes to that provider. Nest receives the upstream OAuth session credentials. Your device keeps a separate credential for its Nest session.
Most authenticated actions pass through Nest to the relevant account or network service. Nest can read the requests and responses it forwards, including posts, uploads and ordinary Bluesky direct messages. This processing does not mean that every request or message is saved in a Catbird database. Your account and network content remain hosted by the relevant upstream services, while Catbird keeps the records described below.
Ordinary Bluesky direct messages are not end-to-end encrypted. Nest can read messages it relays. This version of Catbird does not include MLS encrypted chat or Circles.
Some requests go directly from your device to other services, including media and image servers, identity discovery, public account lookups, link-card extraction and video upload. Direct video upload can use a short-lived service authorization token on your device. GIF searches use Catbird’s forwarding service. When you load an embedded player or follow a link, the destination service receives that request. A direct recipient can receive your IP address and the information sent with the request.
Information used to provide Catbird
| Information | How it is used and where it is handled |
|---|---|
| Account and session information | Account identifiers such as your DID, handle and provider address; OAuth authorization state; upstream session credentials; and the Nest session binding support sign-in, authenticated actions and access revocation. Nest holds the normal upstream session credentials. |
| Account actions and content | Posts, messages, media, searches, reactions, profile changes and other requested actions pass through the services needed to perform them. Nest processes the content it relays; direct recipients receive their own requests. |
| Device and notification information | Apple push tokens, account/device associations, notification preferences, subscriptions, thread/conversation mutes and delivery information support notifications and routing. These records are separate from the OAuth session. |
| Preferences and feed feedback | Selected interests, feed preferences and supported interaction feedback help provide suggestions and personalize relevant feeds. Some preferences are synchronized with account services. |
| Local app information | The app keeps credentials, settings, caches and drafts on your device. Optional remote draft synchronization sends draft information to the upstream draft service through the authenticated request path. |
| Technical information | Network requests, errors, rate-limit/security information, operational metrics and app diagnostics help operate and diagnose Catbird. Server logs, automatic diagnostics and local logs are described below. |
| Support information | If you contact us, we receive your message, email address, account information you supply and any attachments. Do not send a password or session token. |
Catbird uses this information to perform your requested actions, keep sessions working, deliver enabled features, protect its services, diagnose problems and handle support or privacy requests.
Notifications and background access
If you allow notifications, Catbird registers a device and stores the account/device information and preferences needed to route them. Your iOS notification permission and Catbird’s notification preferences affect alerts. Device registration or a saved preference does not make every alert type available.
Nest can use stored authorization while the app is closed for enabled notification processing, including authenticated moderation checks. Apple receives the push token and alert payload needed for Apple Push Notification service delivery. Social alerts can include an actor’s display information, a public post excerpt and routing identifiers.
Direct-message push notifications are currently disabled by a release gate. You can still read and send ordinary Bluesky messages in the app. This gate is separate from social push notifications. It does not establish that stored notification registrations, preferences or earlier delivery records have been deleted.
Notification registrations, preferences, queues, caches and earlier delivery state have separate lifecycles. Removing a pending queue entry does not necessarily remove those other records. Notification delivery can be delayed or fail.
Feeds and optional features
Catbird uses your interest choices and feed/account information to provide suggestions. Supported feed generators can receive post identifiers, interaction events, feed context and request identifiers through authenticated requests. Feedback can include seen, like, repost, reply, quote and show-more/show-less events. This feedback path is used for Discover, Video and custom feeds that declare support; ordinary timelines, lists and author feeds do not use it.
Remote draft synchronization is off by default. Enabling it sends draft information through the authenticated path to the upstream draft service. Disabling synchronization stops new synchronization; it does not itself delete earlier remote copies.
Ask Catbird, generated alt text and other supported Apple Intelligence features depend on device and system support. Account actions you approve can still use the ordinary authenticated network services described above. Review generated output before posting or relying on it.
Server logs and automatic diagnostics
Catbird’s services process technical connection information when serving requests. Nest’s standard logs for relayed account requests record query-parameter names rather than their values. Those logs can still include account identifiers, request paths, upstream error details and rate-limit or other technical information. This does not make every log field anonymous.
The reverse proxy that serves Catbird’s website, API and YouTube wrapper keeps separate access logs. These may include IP information and requested URLs, including query strings. Nest’s query-parameter filtering does not apply to every infrastructure log.
Catbird’s sole diagnostics service for this release is GlitchTip, operated by Catbird on Netcup-hosted servers, with Cloudflare providing network delivery. Reporting remains disabled in an app build until Catbird’s GlitchTip destination is configured. When enabled, reports go to that service. This describes the release configuration; earlier development builds may retain their original diagnostics settings.
Reports can contain the app version and build, operating-system and device information, diagnostic identifiers, and technical crash, error or app-hang details, including stack traces and binary information. The release configuration removes user identity fields, request details, breadcrumbs and free-form messages. Performance tracing, profiling, session tracking and replay are disabled. These limits reduce the information collected but do not make reports anonymous. The services receiving a report also process technical connection information, which can include an IP address.
Reporting starts automatically when configured, with no in-app diagnostics off switch. A build with reporting disabled sends no app diagnostic reports to GlitchTip. Sharing exported local logs is a separate choice.
On supported systems, Catbird’s MetricKit manager logs technical summaries locally; that manager does not upload the received payloads. Apple/OS storage and other diagnostic SDK storage are separate.
You can choose to export local system logs and select a sharing destination. These exports are separate from automatic diagnostics and do not use the same diagnostic filtering. Check exported text before sharing it. Clearing the log viewer clears its displayed entries, not the underlying OS log storage.
Other services and the website
Catbird works with your PDS, Bluesky services, feed generators and the moderation services you use. Direct connections can include media/CDN servers, video.bsky.app, cardyb.bsky.app, public account and identity services, and chosen embedded-media providers. GIF searches pass through Catbird’s Klipy forwarding route. These services process the requests sent to them under their own practices.
Catbird uses Netcup to host its website, supporting servers and GlitchTip diagnostics service, Cloudflare for network delivery, and Apple for push delivery. Where optional one-time support tips are available, Apple processes purchases through the App Store. Catbird does not operate Apple’s payment flow. Purchase-related support messages and information you voluntarily send are separate from Apple’s billing records.
The website uses browser local storage to remember the selected theme. Cloudflare receives requests for the website and its proxied services, and Catbird’s web server keeps the separate access logs described above. These infrastructure requests and logs can contain identifying information.
Information may be processed outside your country by the services involved. Your account provider, Bluesky, Netcup, Cloudflare and Apple handle information in the locations used to provide their services. GlitchTip is operated by Catbird on its Netcup-hosted infrastructure.
Security and retention
Catbird’s production connection to Nest uses HTTPS. Encryption in transit protects the connection; a server receiving the connection can still read its contents.
Nest stores OAuth session secrets encrypted with AES-256-GCM and can decrypt them to perform authorized actions. Account and routing indexes are separate. New notification-session references use one-way fingerprints, but historical copies of raw session identifiers remain in the notification database until those records are cleaned up. This does not mean that all notification records, logs, disks or backups are encrypted in the same way. No system can guarantee absolute security.
OAuth sessions expire after 30 days without use; using a session renews that period. A successful server sign-out deletes the stored OAuth session and its indexes, as described below. Notification records, logs, persistent snapshots and any backup copies have separate lifecycles.
Nest’s system journal currently uses storage-size limits rather than a configured maximum number of days. Separate web access logs, notification records, diagnostic reports and support messages do not share the OAuth session’s 30-day expiry. The session store also writes periodic disk snapshots; deleting a live record is separate from removal of snapshot or backup copies.
Push registrations, preferences, subscriptions, mutes, queues, caches and earlier delivery state can remain after sign-out. Disabling notifications or uninstalling the app does not submit a request to remove all of these records. You can contact us about the information Catbird holds using the request process below.
Your choices and privacy requests
You can manage notification permission in iOS Settings and notification preferences in Catbird. You can choose your feeds and moderation services, keep remote draft synchronization off, and decide whether to share local logs or support attachments. Automatic diagnostics have the controls described above. Account-provider authorization and provider privacy settings remain separate.
For access, correction or removal of information held by Catbird, email [email protected] with enough information to identify your account and request. Do not send a password or session token. We may need to verify that you control the account before handling an account-related request.
Contacting Catbird does not itself delete your provider account or every public copy held by other services. Requests concern information held by Catbird; provider-held account data and content must also be addressed through the relevant provider.
Depending on your location, you may have rights concerning access, correction, deletion, restriction or other handling of personal information. Contact us so your request can be assessed under the rules that apply.
Sign out and provider account deletion
To sign out, open Settings → Account & Security → Sign Out. When Nest successfully handles that request, it deletes your stored OAuth session and its indexes and attempts to revoke its access at your account provider. If upstream revocation fails, Nest can keep an encrypted retry job for a maximum of seven days, with up to eight attempts including the initial attempt. Those limits do not guarantee successful revocation. The app can clear local authentication even if the server request fails, so appearing signed out does not confirm server cleanup.
Signing out does not delete your provider account or all Catbird-held information. Notification settings, some device and delivery records, local caches and drafts, diagnostic reports, logs, snapshots and backup copies have separate removal rules. Uninstalling the app does not itself submit a server data-removal request; Keychain items may remain separately from the app’s files.
Settings → Account & Security → Delete Account opens a provider account-management website. Complete permanent account deletion through your provider’s supported process. Opening a website does not itself delete the account, and Catbird cannot confirm completion. If that link does not offer the needed deletion route, use the provider’s own app, website or support instructions.
Account deactivation is reversible. Deleting only a chat account is narrower than deleting the provider account. A provider request is separate from a Catbird-held-data request. Public content may remain with other people or independent network services.
Eligibility and policy changes
You must meet your account provider’s eligibility rules and the requirements that apply where you live. An App Store age rating is not itself an account-eligibility rule.
Revised policies will be published with an updated effective date. Any additional notice or consent required for a change will be handled under the applicable requirements.
Operator: Josh LaCalamito, United States. Contact: [email protected]. General announcements: @catbird.blue. Use email for private account-related information rather than a public mention or issue.