Privacy Policy

Magical Piles — Last updated April 2026

The short version

Your card collection stays on your device. We only receive data you explicitly choose to share, and we never sell or advertise with it.

What we collect

When you sign in with Apple, Apple provides us with a stable, anonymous user ID (an opaque string like 000123.abc...). We never receive your name, email address, or any other personal information from Apple unless you choose to share it, which our sign-in flow does not request.

We store this anonymous user ID and a session token (a random UUID that expires after 90 days) in our database so you can manage your shared content across sessions.

What stays on your device

Your entire card collection, binders, and decks are stored locally in a SQLite database on your Mac. None of this data is uploaded to our servers unless you explicitly tap "Share" on a specific deck or binder.

What we store when you share

When you choose to share a deck or binder, its name and card list are stored on our servers and made publicly accessible at a unique URL (e.g. magicalpiles.com/d/abc123). This data is associated with your anonymous user ID so you can update or delete it later.

You can remove any shared content at any time using "My Shares" in the app. Deleted shares are immediately removed from our servers.

Card data and images

Card names, artwork, and set information are sourced from the Scryfall API. When the app fetches card data or loads card images, your request goes directly to Scryfall's servers. Scryfall's privacy policy applies to those requests.

Analytics and advertising

We do not use analytics services, tracking pixels, or advertising networks. We do not sell or share your data with third parties.

Infrastructure

This website and its database are hosted on Cloudflare. Cloudflare may process request metadata (IP addresses, headers) as part of normal CDN and DDoS protection operations.

Data deletion

You can remove individual shared decks and binders at any time via the "My Shares" view in the app. To request deletion of your account and all associated data, open an issue on GitHub or contact us at the address in the GitHub profile.

Changes to this policy

If we make material changes to this policy, we will update the date at the top of this page. Continued use of the app after changes constitutes acceptance of the updated policy.