Privacy Policy
Last updated: July 31, 2026
1. Controller and Scope
The data controller for SkyFeed is:
Feedy UG (haftungsbeschränkt)Holzhofallee 21
64295 Darmstadt, Germany
Email: privacy@skyfeed.dev
Commercial Register: Amtsgericht Darmstadt, HRB 107801
SkyFeed has two surfaces, and one account covers both: SkyFeed Classic (skyfeed.app), the feed builder, and skyfeed.eu, where you manage your account, your SkyFeed Pro subscription, and Feed Stats. This policy covers both surfaces, together with sign-in, feed publishing, feed delivery, and Feed Stats.
2. The Short Version
- We do not sell personal data.
- We do not use advertising, profiling, behavioral tracking, or third-party analytics.
- We do not use cookies.
- Your Bluesky or AT Protocol password is never shared with SkyFeed.
- Signing in necessarily contacts your PDS and AT Protocol identity services.
- Card details are handled by Creem and never reach SkyFeed. Creem does hold your email address and usually your name, and we can look those up in Creem's dashboard.
- Delivery analytics counts feed requests: which feed, when, and what class of request. It does not record which posts were returned, and it never receives or stores a viewer DID.
- Only active SkyFeed Pro subscribers can access Feed Stats.
- Published AT Protocol records are public by design.
3. Signing In
3.1 Information Used
You enter an AT Protocol handle to start OAuth sign-in. Identity services resolve that handle to a decentralized identifier (DID), and your PDS or authorization server asks you to approve access. SkyFeed receives your DID after successful authorization. We fetch your public profile (handle, display name, and profile picture) for display during the current browser session.
Your entered handle is sent to SkyFeed's API, which performs handle resolution through a
configured AT Protocol resolver (currently public.api.bsky.app). Your public profile
and profile picture are read through SkyFeed's API in the same way, so your browser requests them
from SkyFeed rather than from a Bluesky service or image CDN. Those upstreams receive the lookup
and SkyFeed server request information, not your browser IP.
OAuth sign-in itself contacts your PDS or authorization server directly from your browser, and DID
document lookup may contact a service such as plc.directory; those requests
necessarily expose the DID and ordinary request information such as your IP address. A self-hosted
PDS may involve providers chosen by you.
3.2 Browser Storage
The OAuth client stores access and refresh tokens, DPoP keys, and session records in your browser's IndexedDB. It also keeps a non-secret pointer to the active session DID in local storage; SkyFeed keeps only the post-login return path in session storage. These are strictly necessary to restore sign-in. SkyFeed does not put authentication credentials in cookies or local storage, and the billing server does not store them. Signing out revokes and clears the active browser session through the OAuth client.
3.3 OAuth Permissions
Signing in at skyfeed.eu requests identity access, plus permission to obtain short-lived service authentication tokens for two named capabilities on one service, SkyFeed's own API: managing your SkyFeed Pro subscription and reading your Feed Stats. The permission names SkyFeed's service as the only audience, so it cannot be used to call any other service on your behalf. It does not allow creating feed records or uploading blobs. A builder feature that needs more than that asks for its own permission, disclosed at the point you are asked to grant it.
4. SkyFeed Pro Subscription
SkyFeed Pro is an optional recurring paid subscription. The SkyFeed billing service stores only the information needed to associate the subscription and its access state with your AT Protocol identity:
- your DID;
- the plan, subscription status, and whether SkyFeed Pro access is active;
- Creem checkout, customer, product, and subscription identifiers;
- the current billing-period end, when available; and
- timestamps used to reconcile the current status.
The billing service does not store your handle, name, email address, payment credentials, OAuth tokens, or card details. It sends your DID and the selected product to Creem so that a completed payment can be associated with your SkyFeed Pro subscription.
Payments are sold and processed by Armitage Labs OÜ (Creem), Estonia, as Merchant of Record and independent controller. Creem processes contact, billing, payment, tax, order, and refund information under its Privacy Notice and Terms. SkyFeed receives subscription identifiers and status, not your payment credentials.
Creem always collects an email address, so that it can send your receipt and let you into its customer portal. Most payment methods also supply a name. Creem additionally records the country your payment came from, which it needs in order to charge the right VAT as Merchant of Record; SkyFeed neither needs that nor acts on it.
None of it is copied into SkyFeed's database. SkyFeed holds the merchant account, though, so we can look those records up in Creem's dashboard. We use that only to answer a support or refund request you raise. It does not extend to your card number or any other payment credential.
5. Feeds, Delivery Analytics, and Feed Stats
5.1 Feeds and the AT Protocol
Feed definitions you publish, whether through SkyFeed Classic or another AT Protocol client, are records on your own PDS. They are public by design, so other services can read and retain them. Deleting a SkyFeed browser session does not delete them; you control them through your AT Protocol account and any compatible client.
To deliver a feed, SkyFeed processes public feed identifiers, feed definitions, and public AT Protocol content.
5.2 Delivery Analytics and Feed Stats
Delivery analytics is derived from the access logs of our content delivery network. For each request to serve a feed, those logs record the time, the feed requested, how many posts were requested, whether the request was for a further page, the response status and size, the edge location that served it, the client user agent, and a country derived from the network address. This applies to every feed, whether or not its owner has SkyFeed Pro.
Those raw logs also contain the network (IP) address of the requesting client. It is discarded while the logs are processed: it is never written to the analytics dataset, and Feed Stats contains no network addresses. The analytics system neither receives nor stores a viewer DID, and it does not record which posts were returned in a feed response.
What remains is aggregated into Feed Stats: counts of requests, per feed, per hour, grouped by request class. Almost all feed requests reach us from the Bluesky application service rather than from a person's device, so these are counts of requests to serve a feed, not views, viewers, or any other measure of human attention.
Feed Stats requires an active SkyFeed Pro subscription. A subscriber sees the same window as any other subscriber, including hours that fall before the subscription started. When a subscription ends, access continues to the end of the paid period and then stops. Aggregation continues either way, and resubscribing restores access.
Retention and display are separate things. Aggregate Feed Stats history is retained for a rolling 12 months; that is how long the data exists on our side. The Feed Stats display currently shows the trailing 14 complete days, hour by hour. A feed whose collection began more recently simply has fewer hours of data than that window can hold.
6. Infrastructure and Recipients
| Recipient | Purpose and data | Location |
|---|---|---|
| Hetzner Online GmbH | EU server infrastructure for service data and feed processing. | Germany / Finland |
| Avoro / dataforest GmbH | EU server infrastructure for feed processing. | Germany |
| BunnyCDN | Delivers the website and feed responses; processes requested URLs and ordinary network metadata. | Slovenia / global edge network |
| Fly.io, Inc. | Runs part of the legacy feed-delivery path and fallback in the United States; processes technical feed-request data. | United States |
| Bluesky PBC services | Handle and DID resolution, OAuth interoperability, public profile display, and AppView feed requests. | United States |
| Armitage Labs OÜ (Creem) | Merchant of Record; independently controls contact, billing, payment, tax, order, and refund data. | Estonia |
Your own PDS, authorization server, and other AT Protocol services also process requests according to their respective policies. Their locations depend on the providers you use.
7. Technical Data, Logs, and Retention
CDNs, hosting providers, and network services necessarily process IP addresses, requested URLs, browser or protocol metadata, timestamps, and security information to deliver and protect the service. SkyFeed does not use these records for advertising, behavioral tracking, or user profiling. The billing application does not intentionally collect client IP addresses and does not log the signed payment-return query string; the web server in front of it is configured to redact the payment identifiers and DID from that URL before anything is written to an access log.
- OAuth credentials remain in IndexedDB until sign-out, revocation, expiry, or browser deletion.
- DID-linked checkout and subscription records are kept while needed to provide SkyFeed Pro access and until you request deletion, except where a longer period is necessary for legal claims or obligations.
- Public AT Protocol records remain available according to your PDS and the decentralized network.
- Aggregate Feed Stats history is retained for a rolling 12 months. Universal aggregation continues independently of a feed owner's subscription state.
- Infrastructure logs are retained according to operational and security needs and provider configuration, then deleted or aggregated when no longer needed.
We keep no independent backup of the billing-status database. It is a cache that can be rebuilt from subscription metadata and current state retained by Creem. Deleting a row from SkyFeed's live cache does not itself delete Creem's records, and a later rebuild can re-create DID-linked status while that metadata remains available.
You can request deletion of SkyFeed's DID-linked billing records by contacting us. Because that cache is derived from Creem's metadata, we action such a request against both SkyFeed's records and Creem's associated metadata rather than the local row alone. Creem may retain transaction records independently to meet tax, accounting, fraud-prevention, and legal obligations; where a record must be kept for such an obligation, we restrict its processing instead of erasing it and tell you which applies.
8. Legal Bases and International Processing
- Contract and requested service: sign-in, feed operation, account actions, SkyFeed Pro subscription administration, and Feed Stats access.
- Legitimate interests: reliable delivery, security, abuse prevention, debugging, protection of legal claims, and maintaining consistent aggregate history.
- Legal obligations: responding to valid legal requirements and consumer-rights requests.
Core SkyFeed infrastructure and billing records are hosted in the European Union, but AT Protocol identity services and part of the legacy feed path operate in the United States, and your own PDS may be elsewhere. We disclose these transfers plainly and do not claim a particular transfer safeguard where it has not been verified for the relevant provider relationship.
9. Your Rights
Subject to the GDPR and applicable law, you may request:
- access to and a copy of your personal data;
- correction of inaccurate data;
- deletion or restriction of processing;
- data portability where applicable;
- an objection to processing based on legitimate interests; and
- withdrawal of consent where processing is based on consent.
Contact privacy@skyfeed.dev. We may need to verify that you control the relevant DID. You may also complain to a competent data-protection authority; our lead authority is the Hessian Commissioner for Data Protection and Freedom of Information.
10. Security, Children, and Changes
We use encryption in transit, OAuth, short-lived service authentication, access controls, and restricted infrastructure to protect service data. No system can guarantee absolute security.
SkyFeed does not use automated decision-making or profiling within the meaning of Article 22 GDPR.
SkyFeed is intended for people aged 18 or older. We do not knowingly offer SkyFeed Pro to children.
We may update this policy when the service or legal requirements change. Material changes will be announced through the service or another reasonable channel before they take effect where required.
11. Contact
Feedy UG (haftungsbeschränkt)Holzhofallee 21
64295 Darmstadt, Germany
Email: privacy@skyfeed.dev