Privacy policy.
Last updated: May 26, 2026
IJSEdge is built by a small team and we try to be plainspoken about how it works. This policy describes what data we collect, why we collect it, who we share it with, and how you can see, export, or delete what we have about you.
What we collect
Account data. When you sign up, we store your email address, an optional display name, and (if you set one) a hashed password. If you sign in with Apple or Google, we also store the profile picture and display name those providers share with us. We never see or store your password for Apple or Google — they authenticate you on their side and tell us only what's necessary to identify you.
Skating data you create. If you claim a skater, favorite a competition, or set notification preferences, we store those settings tied to your account.
Skating data we index from public sources. IJSEdge ingests publicly-available IJS protocol results from U.S. Figure Skating competitions. We don't consider this personal data of yours — it's public competition data — but we treat it carefully. Skaters and parents can adjust per-skater privacy settings inside the app.
Payment data. If you subscribe via the web, payment is handled by Stripe — we never see your card number. If you subscribe via the iOS app, payment is handled by Apple IAP — we never see your card number. We store only the subscription state (active, trialing, canceled), plan, and expiry date that those providers send us.
Notification preferences. If you opt into email or push notifications, we store the preference and a device token (for push) so we know where to send.
Product analytics. We track product events like which pages you view, which buttons you tap, and whether you complete a sign-up funnel. These rows are tied to your account if you're signed in, or are anonymous if you're not. We use this internally to understand whether features work as intended. We do not sell this data or share it with third-party analytics platforms.
What we don't collect. We don't use third-party tracking (Google Analytics, Facebook Pixel, ad networks). We don't fingerprint your browser. We don't sell your data.
How we use it
To run the service — sign you in, deliver analytics on your roster, send notifications you asked for, process payments, debug problems, and improve the product. That's it.
Who we share it with
We use the following sub-processors. Each one only sees the minimum data needed for its role:
- Railway — hosting. Sees encrypted requests in transit.
- Neon — database. Holds the data described above at rest, encrypted.
- Stripe — credit-card payments on the web. Sees billing information you enter.
- Apple — Sign in with Apple, App Store subscriptions, push notifications. Sees what Apple normally sees for those features.
- Google — Sign in with Google. Sees only the OAuth handshake.
- Resend — transactional email delivery. Sees the email body and recipient address for any email we send you.
We do not use third-party advertising networks, marketing analytics platforms, or data brokers.
Children's privacy
IJSEdge is designed for adults — typically a skater's parent — who manage analytics about their family's skating. We do not knowingly collect data from children under 13. A skater under 13 may have public protocol results indexed (those results come from U.S. Figure Skating, who governs their own privacy practices), but the IJSEdge account that manages those results must belong to a parent or guardian. If you believe a child has created an account, contact us at the email below and we'll delete it.
Your rights
You can:
- See what we have. Email us at the address below and we'll send you an export.
- Edit what we have. Most settings are editable inside the app (account, claims, privacy preferences, notification preferences).
- Delete your account. Use the in-app "Delete Account" option, or email us. Hard-deletion is irreversible: every row keyed to your account is removed from our database; analytics events are anonymized rather than deleted so aggregate numbers stay accurate.
- Opt out of notifications. Each email has an unsubscribe link; push notifications can be disabled in iOS Settings → IJSEdge.
California (CCPA) and EEA/UK (GDPR) residents have additional rights — to opt out of any data "sale" (we don't sell), to know what categories of personal information we collect (described above), and to request deletion (also described above). Email us to exercise these rights and we'll respond within the time limits those laws require.
Security
Data is encrypted in transit (TLS) and at rest (the database provider encrypts disk volumes). Passwords are stored as bcrypt hashes — they are never recoverable in plain text, even by us. Access to production systems is limited to the IJSEdge team and gated behind 2FA.
No system is unbreakable. If we discover a breach affecting your personal data, we will notify you as quickly as we can via the email on your account.
Retention
We hold account-linked data for as long as your account is active. When you delete your account, account data is hard- deleted immediately. Subscription billing records are retained for the period required by tax law (typically 7 years). Anonymized analytics events have no time-bound retention because they no longer identify you.
Changes
When we change this policy, we'll update the date at the top and — for material changes — surface a notice in the app and email anyone with an active account. Continued use of IJSEdge after a change means you've accepted the updated policy.
Contact
Questions, requests, or concerns: support@ijsedge.com.