This page describes what the current shop app actually keeps in your browser, what the backend stores, and what is public by design. It is an honest technical status, not a finalized legal policy.
Everything below lives only in this browser. You can inspect and clear the app's own keys and caches here. Clearing them does not affect backend records or on-chain data, does not touch wallet-provider storage or any other site's data, and does not disconnect your wallet.
ifr.shop.* browser keys
The app stores a small set of localStorage keys whose names start with ifr.shop. : your preferred role, the last seller business ID you used, recent checkout session references and a cached customer proof history. These stay in this browser and are never sent as analytics.
Active pass control token
When you create a customer checkout pass, its control token is kept only in this tab's sessionStorage so the pass survives a page refresh. Closing the tab discards it.
Static app shell cache
The service worker keeps a CacheStorage cache named ifr-benefits-* with the static app shell so pages load faster. It holds application files, not your activity. If you clear it, the app can create it again when it next loads assets.
-
localStorage keys
-
sessionStorage keys
-
app shell caches
Reading this browser's IFR Benefits data...
Backend
What the backend stores
The Benefits backend keeps records used to run verification, eligibility, limits and rewards:
Wallet address
The backend stores the wallet addresses that verify or interact, together with verification amounts, statuses and timestamps, so it can enforce eligibility, limits and rewards.
Hashed control tokens and audit events
Customer pass control tokens are stored only as hashes, and security-relevant actions are recorded as audit events.
Signatures are verified, not stored
Wallet signatures are request inputs: the backend verifies each one transiently to authorize a single action. They are not modeled as stored signature fields.
Public by design
What anyone can see
Some data in this system is intentionally public:
Public seller and catalog data
Seller profiles and product catalogs published on the Benefits Network are public by design and can be indexed by search engines.
Public Ethereum data
The app reads public on-chain data such as ETH, IFR and IFRLock status. Any approve or lock transaction you sign is a public Ethereum transaction, visible to anyone on the network forever.
Third parties
Who else is involved
Using the app can involve these external services, each under its own policy:
Wallet providers and public RPC
Your browser-injected Ethereum wallet provider and the public RPC endpoints used for chain reads see your IP address and the requests made through them, under their own policies.
Coinbase Wallet and WalletConnect
Coinbase Wallet is offered as a fallback connector. The full WalletConnect modal is only active when a WalletConnect Project ID is configured; when it is, connecting through it involves WalletConnect infrastructure.
Copilot and Uniswap
The AI Copilot only loads when you open it, and it is embedded with referrer policy no-referrer. Uniswap is only contacted when you explicitly click a swap link.
Masked seller history
Sellers see a masked wallet, not the full address.
Seller-facing session history displays masked wallet identifiers, so a seller reviewing recent checks does not receive your full address in that history response. Seller reward status returns only an event count, not customer event details. The backend still retains the full wallet address, because eligibility checks, usage limits and rewards depend on it. Masking is a display choice in seller views, not anonymity.
Open items
What is not decided yet
The backend has a manual operator tool for counting and removing expired, unlinked authorization artifacts after an approved cutoff. It does not automatically delete checkout sessions, session audit records, reward records or passes linked to sessions. The long-term server-side retention, deletion and support policy is not finalized. This page therefore makes no promise that backend records can be deleted on request, and it does not claim compliance with GDPR or any other specific legal framework. There is no dedicated privacy support channel at this time. When a final policy exists, this page will be updated to match it.
What you can always do today: clear this browser's local app data with the controls above, disconnect your wallet in your wallet app, and simply stop using the service. On-chain transactions you have already signed remain public on Ethereum and cannot be altered or removed by anyone.