Compose Social

Privacy policy

No Compose account, no advertising, no tracking, and we don't sell your data.

Effective November 2, 2026

Scope

This policy covers the Compose apps for iPhone and Android, this website, and the services we run for the apps. "We" means Perchless LLC, a Delaware company, which makes and operates Compose Social.

This website sets no cookies and uses no analytics. It remembers which platform's screenshots you chose, in your browser only.

On your device

Compose keeps these on your device:

  • Your sign-ins, on the device where you signed in: in the keychain on iPhone, and on Android in storage encrypted with a key the device holds. They aren't synced.
  • Your posts, drafts, history and attached media, and the likes, reposts and replies each network reports for your posts.

Compose receives only the photos and videos you select. It uses the camera only to take photos for posts and to scan the code that links a device, and adds to your photo library only when you ask. On Android, the device's camera app takes the photo and Google Play services reads the code, so Compose itself has no camera access. It doesn't request access to your contacts or location.

Posting

Posts go from your device directly to Bluesky, Mastodon, Threads or X, whose own privacy policies then apply. The one exception is photos and video for Threads, described below. Link previews are fetched by your device, and so are the pictures in your history, from each network. If you create a Mastodon account in the app, what you enter goes to that server. The Thank-you screen loads contributor pictures from GitHub.

Through a service we run

These pass through a service we run, only where a network requires it. It keeps none of them beyond what's described here.

  • Threads sign-in: our service exchanges Meta's sign-in code for your Threads token and hands it to your device. It checks that token again when the app sends photos or video for Threads, and doesn't store it.
  • Bluesky sign-in: our service returns the sign-in to the app. Your password goes only to Bluesky.
  • Threads media: held until Threads retrieves it, then deleted. Anything left behind is deleted automatically within a day.
  • GIF search: your search terms are forwarded to GIPHY, with its strictest content filter always on, and the GIFs you see load from GIPHY. Results are cached for five minutes.

Sync

Sync is off until you turn on backup or link a second device. These are then encrypted on your device before upload, with a key only your devices can read, so we can't read them:

  • your posts: the text, where each one went, and the links to it;
  • your list of accounts: network, handle and instance, never a sign-in;
  • the name and model of each linked device.

Drafts and media aren't synced.

  • The sync service sees an identifier derived one-way from your key, whether each record is a post, an account or a device, how big it is, and when it was written. It can't get your key from the identifier.
  • It uses your IP address to limit request rates, and doesn't store it.
  • Your recovery key is that key written as 24 words. Anyone who has them can read your synced data, and delete it.
  • Devices → Unlink all devices deletes your synced data from the sync service, backup included, and the recovery key no longer opens anything there. Copies in our nightly database backups age out within about a year. Each device keeps the posts it has.

Usage statistics

Compose sends counts to TelemetryDeck. They're on by default, and cover:

  • how a post went out: which networks, whether each one took it or why it didn't, how long it took, the post's length, and whether it had photos, a video, a GIF, a link or hashtags;
  • how many accounts are connected on each network;
  • whether the composer, onboarding and sign-in screens were finished or closed, and which goals were picked in onboarding.

Each count carries a random install ID, hashed before it's sent, and the details TelemetryDeck's library attaches in every app that uses it: device model, system version, language, region and time zone, screen size, appearance and accessibility settings, and how often the app has been used. Counts never include your post text, handles, account names or links.

Turn them off in the app, under Settings → Share usage statistics. On iPhone the same switch is also in Settings → Compose. That also deletes the install ID.

Purchases

Compose Pro is bought through the App Store or Google Play. Apple or Google handles the payment under its own privacy policy, and the app checks what you own against the store's record on your device. We receive no payment details. The stores report sales to us in their own consoles, with nothing that connects a purchase to your posts, your accounts or your sync.

On Android, Google's billing library runs inside the app to do this. What it reports to Google is covered by Google's privacy policy.

Advertising and tracking

Compose contains no advertising, doesn't use the advertising identifier, and doesn't track you across other companies' apps or websites. We don't sell or share your data.

Where it's kept, and for how long

The services we run and this website are hosted with Cloudflare, which sees the usual connection details, such as your IP address, under its own privacy policy. Synced data is stored on servers we operate in the United States. Everything travels encrypted.

  • Threads media: until Threads fetches it, a day at most.
  • GIF searches: five minutes, in the cache.
  • Synced data: until you unlink all devices. We don't expire vaults that go quiet. Backup copies age out within about a year.
  • Usage statistics: kept by TelemetryDeck under its policy.
  • Email to us: as long as we need it to help you.

If a breach ever affects you, we'll tell you as the law requires.

Deleting your data

  • An account: in Accounts, sign out on this device, or remove it from all your devices. Either way its sign-in is deleted, and Compose asks the network to revoke it where the network allows.
  • Synced data: unlink all devices. Deleting the app alone doesn't erase it.
  • Everything else on a device: delete the app. iOS may keep sign-ins and a few settings in the keychain after an app is deleted, so sign out of each account first. Android deletes them with the app.
  • Usage statistics: turning them off deletes the install ID.

Published posts stay on each network until you delete them there.

Your rights

There's no Compose account, and nothing we hold identifies you: a sync vault is addressed by a key only your devices have, and usage statistics carry only a random install ID. So the way to see or delete your data is in the app, as above, and on the device itself. If you need something else, email us and we'll do what we can. If you live in the EU or UK, you can also complain to your data protection authority.

Where the law asks us to name a legal basis: the services we run exist to provide the app you asked for, and usage statistics are our legitimate interest in knowing what works, which you can turn off.

Children

Compose isn't directed at children under 13, and we don't knowingly collect information from them.

Changes and contact

Changes will be posted here with a new date. Questions: [email protected].