What stays private
- Your inventory: which assets you grouped, labelled, tagged and combined.
- Personal notes, purchase prices / cost basis, serial numbers and grading certificate numbers. These are encrypted at the application layer (AES-256-GCM via
node:crypto) before they reach PostgreSQL, bound to your user id so ciphertext cannot be moved between accounts. - Your wallet list and which addresses you linked or watch.
- Ownership snapshots. They are generated for you and never published.
What is public by nature
Balances, transfers and contract events on a public blockchain are visible to anyone who knows an address. WingsyPrivate does not, and cannot, hide that. It reads public data and attaches it to your private context.
No public profile by default
There is no page anyone can visit to see your vault. Every route under /app and /asset requires a signed-in session, and every database query is scoped to your user id on the server. API responses for private data are marked no-store so they never land in shared caches.
Authentication
- Wallet sign-in asks for one signature over a human-readable statement that includes a single-use nonce and an expiry. It cannot move funds.
- Email sign-in uses one-time magic links.
- WingsyPrivate never asks for a seed phrase or a private key, and never stores signing material.
Third-party providers
To read public data we call chain RPC endpoints, indexers (Alchemy, Moralis, Helius), market data (CoinGecko) and collectible catalogs. These providers receive the public address or identifier being looked up. They never receive your notes, labels or prices.
Deleting data
Removing an asset deletes its sources, valuations and activity. Removing a wallet keeps assets you annotated (their private notes are yours) but detaches them from the address. Deleting your account cascades to everything.