Effective date: 2026-10-21 (version 1.0.0)
Skylab is a reader app for the open social web: Bluesky and other AT Protocol apps, Mastodon-family servers, Lemmy, and RSS/Atom feeds. It reads public content from those networks and shows it on your phone. Skylab hosts no content, has no user accounts of its own, and sells nothing about you.
This page explains what stays on your device, what leaves it, and who receives it.
| Data | Where it lives | Why |
|---|---|---|
| Your channels (names, sources, view mode, filters) | App storage (AsyncStorage) | So your channel list survives restarts |
| Bluesky session (handle, access/refresh tokens) | Android encrypted storage (SecureStore) | So you stay signed in to Bluesky |
| Mastodon / Pixelfed / GoToSocial access tokens and the per-server app credentials Skylab registers | SecureStore | So you stay signed in to those servers |
| AI provider settings (base URL, model, API key) | SecureStore | So TL;DR can call the provider you chose |
| Up to 200 recently opened posts (public post content you tapped) | App storage (AsyncStorage) | So a thread reopens instantly, including after Android restarts the app; oldest are dropped first, all removed on uninstall |
Uninstalling Skylab deletes all of it. You can also remove sign-ins under Settings → Accounts and AI settings under Settings → AI at any time.
Skylab does not read your contacts, location, photos, microphone, or camera, and asks for no such permissions.
When you open a channel, Skylab fetches its sources straight from the hosts you added:
bsky.social, the public AppView, feed generators, and any PDS the content lives on.mastodon.social.lemmy.world.Each of those hosts sees your IP address and a user agent string identifying Skylab, like any browser or feed reader. If you sign in to Bluesky or a Mastodon-API server, actions you take there (follow, unfollow) are performed with your account on that network and are governed by that network's own privacy policy. Skylab never sees your Bluesky main password: sign-in uses an app password, and the resulting session token is stored only on your phone.
Some features call a small server run by Skylab (the address is built into the app). It is used for:
[email protected] or a feed URL), its type, and a vote count.To prevent abuse, the server rate-limits suggestions, votes, and AI requests per requester. The requester id is a one-way hash (SHA-256) of your IP address. Raw IP addresses are never stored. Vote de-duplication uses the same hash. For Skylab AI requests only, the app also sends a random install id (32 hex characters generated on first use, stored on your device, not derived from your phone or any account) so the AI limit is per install rather than shared by everyone behind one network address. It is used only as a rate-limit key, is not stored with any content, and changes if you reinstall.
The server stores no posts, no channel lists, no account tokens, and nothing that identifies you by name or handle.
Thread summaries are off on a fresh install. In Settings → AI you choose one of:
In every case, what is sent is only the public text of the thread you tapped TL;DR on – the post, up to 60 replies, with authors' public handles – trimmed to a fixed size. No private messages, no tokens, no channel list, nothing from your device beyond that thread.
Posts that the originating network marks as adult, graphic, or NSFW (Bluesky moderation labels, Mastodon sensitive, Lemmy nsfw) are hidden by default. You can show them per channel. Skylab applies the networks' own labels and does not add its own moderation.
Skylab is not directed at children under 13 (or the age of digital consent where you live). It displays content from third-party networks that may be unsuitable for children. We do not knowingly collect personal information from children; since Skylab stores nothing about you on its servers, there is nothing to delete, but if you believe a child has used the hosted AI beta, contact us and we will help.
Skylab's source code is public, so you can check every statement on this page against the code: <https://github.com/analogglitch/unified_feed>.
When this policy changes we will update the effective date at the top and, for material changes, note it in the app's release notes before the change takes effect. Previous versions stay available in the repository history.
Questions or requests: open an issue at <https://github.com/analogglitch/unified_feed/issues> or email [SET A SUPPORT ADDRESS BEFORE PUBLISHING] (Play Console requires a developer email; use the same one here).