Services covered by this policy
This document describes a number of free tools and services provided for the users of Bluesky and the wider AT Protocol network. The services are operated by Jakub Suder (@mackuba.eu), based in Poland. This is a third party project, not affiliated with Bluesky PBC.
The services in question are hosted on these domains:
- blue.mackuba.eu – services such as Bluesky statistics page, Bluesky handle & PDS directory, Label Scanner, or a number of custom Bluesky feeds
- skythread.mackuba.eu – Skythread, the Bluesky thread reader webapp
- relay.feeds.blue – an independent ATProto relay indexing only non-Bluesky PDSes
- lycan.feeds.blue – a service for indexing & searching posts that a given user has liked
- pulsar.feeds.blue – a tool measuring statistics of all available public ATProto relays
- sdk.blue – a directory of libraries, SDKs and developer tools for ATProto in various programming languages
- ruby.sdk.blue – a documentation page for the Ruby gems for ATProto
Public vs. private data
In order to provide these services, some of the listed servers record various kinds of public data from the Bluesky network, like posts and user handles. The data is loaded from public ATProto relay servers like bsky.network and the PLC user directory at plc.directory, and consists of data that was publicly shared on the protocol with the implicit intention that it will be stored and processed by various first and third party services running on the AT Protocol network.
In some specific cases, listed below, some non-public user data might also be stored in addition to the public data.
Deleting data
The servers storing user data generally process and apply any record deletion events received from the firehose immediately, so posts that are deleted on Bluesky are also deleted from the local database when the relevant event is broadcasted through the relay. On account delete events, the user's account/handle information and all their posts should also be deleted immediately. In some cases, “stub” references might be left in place of the post records in order to keep references from other data – these contain only parts of the URI of the post (user DID and post rkey), but no post contents.
If you would like me to delete some or all of the data collected about your account from these servers, or opt out from being listed in the Handles Directory, please contact me on Bluesky at @mackuba.eu from the account in question – I will delete your posts and other data and add the user identifier to a blacklist to make sure that no new data is recorded in the future. Contact me through the same account if you would like me to send you an archive of all collected data related to you.
Specific data stored
blue.mackuba.eu:
The server stores public user data like posts, follows, or a list of known accounts on the network with assigned handles and PDSes, in order to generate the statistics and directory pages, and to operate custom feeds.
Some of the feeds hosted on this server make use of the viewing user's identifier in order to return a personalized response. This information is mainly used only during the request to generate the response, however in some cases it might be temporarily stored for debugging purposes (e.g. to track down some technical problems with feed loading), or to generate anonymized statistics (e.g. the total number of different users that have accessed each feed on a given day). These logs might be stored for up to 6 weeks.
Some of the feeds are configured to receive "interaction data" when they are being viewed by the user in their client app like bsky.app. Currently, only two interaction types are being recorded, specifically only the ones that are triggered by an explicit action from the user in their client app, by clicking a "Show more of this" or "Show less of this" buttons in a post's context menu, which are used to send explicit feedback/report about a specific post to the operator of the feed. These explicit reports (connected to the reporting user's DID) are used to improve the algorithm of the feed following user's feedback (e.g. by removing some irrelevant or offensive content from the feed), and might be stored for batched processing for up to 3 months. Other interaction types like "post liked" or "post seen" are not recorded at the moment.
skythread.mackuba.eu:
Most parts of the app can be accessed without any authentication. The thread data is mostly loaded client-side from the Bluesky API server (AppView) and relevant user PDS servers. A few features load data from blue.mackuba.eu (post quotes), lycan.feeds.blue ("Archive search"), or from constellation.microcosm.blue run by @bad-example.com (hidden replies).
The user can also log in with their Bluesky/ATProto account in order to like posts & comments or to access the personal tools section. Authentication (using "app passwords") is currently done fully client-side, with the credentials sent directly to the user's own PDS server. Received authentication tokens are stored in the browser's local storage and are not shared with the servers hosting the app.
The app doesn't store any usage info or logs that would be connected to a specific currently logged in user.
lycan.mackuba.eu:
The Lycan service (accessed through the "Archive search" section in Skythread) stores a local database of Bluesky posts from various people that were liked, reposted or otherwise interacted with by a given user. The data is collected only for users who have enabled this feature in Skythread on the "Archive search" page (that is, if user X enables the feature, it will collect public posts from other people that user X has interacted with). At the moment this database is only built from publicly available data and no authentication tokens are stored.
relay.feeds.blue:
All public data is read from known non-Bluesky-hosted PDSes as it's streamed from their firehose websocket streams, and is passed through to any connected firehose consumers on the other end. None of it is stored permanently, beyond a 72-hour replay buffer to allow temporarily disconnected clients to catch up.
pulsar.feeds.blue:
The tool reads all public data from all known relay sources for some period of time every day, however the data is discarded at the end of the session and only total counts are stored.
sdk.blue, ruby.sdk.blue:
Only web analytics & HTTP server log data is stored (see below).
Cookies, logs, and analytics
Cookies and local storage are only used in Skythread, in order to store the authentication data of logged-in users for the purpose of authenticating with the relevant servers, or to store user's optional local settings. They are not used for any kind of tracking of the user on or outside of this website, analytics, or ad purposes.
No third party tracking, analytics, ad, beacon, or pixel scripts are loaded on the listed websites. A few of the websites use a locally hosted, open source analytics service called Matomo, hosted at mackuba.eu. This analytics service is configured to not use any cookies for visitor tracking, does not track any information connected to specific user DIDs, and does not share any data with any third parties.
All of the services also store standard Nginx HTTP server logs, which are automatically log-rotated after some period of time. Unless otherwise mentioned above, these logs do not keep any information connected to specific user DIDs.
In case of any further questions, you can contact me through my Bluesky or Mastodon profiles, or via email at mackuba [at] protonmail.ch.
Last update: 11 Apr 2026.