Privacy Policy
Last updated: October 9, 2026 · Effective: April 18, 2026
For the separate Privacy Policy covering the public marketing site, see /privacy.
1. Who this policy applies to
This Privacy Policy describes how Wendell Labs, LLC, operating SheetSnap ("SheetSnap," "we," "us," or "our") handles personal information collected through the SheetSnap application and related services (the "Service"). For the marketing site (sheetsnapapp.com), see the marketing-site Privacy Policy.
For purposes of EU / UK data protection law, Wendell Labs, LLC is the "controller" of the personal data described here.
2. What we collect
2.1 Account information
When you sign up we collect your email address. SheetSnap doesn't use passwords: you sign in with a one-time code or link that we email you. Google sign-in is not currently enabled. We also record when you agree to our Terms and this policy.
2.2 Your uploaded content
Your browser-local library may contain:
- The original image, PDF, or MIDI file you uploaded.
- The derived MusicXML representation generated by our analysis pipeline.
- Metadata you add: title, tempo preferences, measure ranges, fingering annotations.
- Per-session practice data: when you played, how far you got, judgment counts, scores, performance maps.
The current web app stores scores, annotations, practice history and recordings primarily in this browser's IndexedDB and local storage. Verified signed-in libraries also upload private, versioned checkpoints to Supabase storage, including saved scores, markings, settings, practice records and saved MIDI/audio takes. Free capacity is 25 MiB per encoded backup; eligible Pro/Creator/beta capacity is 100 MiB. Check the successful backup date in Cloud Library; failed uploads leave local work intact but are not backed up. Guest music requires an explicit copy into your account. Downloaded videos are not included. Keep important originals and exports separately. Supabase also processes account, consent, beta-access and billing records; account-protected server records use access controls. Support files you deliberately send us are processed to handle your request.
2.3 Microphone audio (when you opt in)
If you enable "Listen via mic" inside the app, we use your browser's microphone to detect note onsets and pitch. This audio is processed entirely in your browser; live microphone samples are not streamed to our servers.Saved microphone takes and practice judgments in your signed-in library participate in private cloud backup. Guest takes stay local. Audio you choose to export or share outside SheetSnap is subject to the destination's practices. You can revoke microphone permission at any time via browser settings.
2.4 MIDI keyboard input (when you opt in)
If you grant Web MIDI permission, we receive note-on / note-off events from your keyboard while a practice session is active. These are routed through the same local-only pipeline as mic audio and used to update your score and performance map. Raw MIDI input may be saved locally if you choose to record a performance, alongside derived judgments. Browser and device support varies.
2.5 Payment information
Planned new subscription purchases will use Paddle as merchant of record; existing Stripe purchases continue with Stripe. New purchasing is currently closed. We never receive or store your full payment card number. Billing providers receive checkout information and share identifiers, transaction and subscription status, selected prices, and relevant billing metadata with us to provide access and support. See Paddle's privacy policy and Stripe's privacy policy for their practices.
2.6 Usage analytics
The current web app keeps a limited first-use event log in browser local storage. Plausible analytics is optional configuration, not currently loaded on the public site. We do not sell personal data or use advertising trackers. Account and billing operations can create server audit records; these are distinct from your local music library.
Vercel Web Analytics collects cookie-free aggregate page views, referrers, approximate country, device and browser information. Query strings, fragments and private score or share identifiers are removed before collection. Scores and recordings are not sent to Web Analytics.
Optional beta participation and feedback
If you choose to submit feedback, we store your report, account identifier, optional contact details and the technical context you choose to include. Do not include private scores, recordings or other people's information. Reports are private to you and our support team, not a public issue board. Research participation stores your assigned task, answers and sessions you explicitly report. It does not require promotional email permission or general activity tracking.
Optional practice tips require a separate choice and can be stopped from your beta preferences or the email unsubscribe link. Essential account and access notices are separate. If you separately enable activity sharing, we store basic daily activity counts and minutes, not piece names, music files, audio or note content. Turning it off stops future collection. These choices do not upload or synchronize your local music library. Participation records are kept until account deletion; delivery and reward records are used to prevent duplicate messages and awards. After withdrawal, essential notices must not be repurposed as promotional messages.
2.7 Error and performance telemetry
Hosting and authentication providers process technical logs for operations and security, such as request information and errors. The current app does not have an active Sentry integration. Do not include private scores or audio in a support report unless needed.
3. How we use your data
Necessary authentication cookies maintain your sign-in session. Turnstile performs anti-bot checks when requesting an email code. A functional language cookie remembers your selection for up to one year. If pricing experiments are enabled later, a signed session cookie can remember the displayed weekly or monthly offer. None of these creates an automatic payment or grants advertising consent.
- Running the Service — storing your scans, rendering scores, recording practice history, showing your performance map.
- AI scanning — hosted photo/AI recognition is disabled in the current founding beta. MIDI and uncompressed MusicXML practice does not require sending scores to an AI model. Any future hosted recognition will require a separate disclosure of the processor and data sent before you use it.
- Billing — syncing your subscription state with the provider for your purchase, managing access, and supporting billing inquiries.
- Communicating with you — transactional emails (sign-in codes, welcome, quota warnings, material changes to these terms) via Resend. We may also send occasional product updates; you can opt out at any time.
- Improving the Service — aggregated, de-identified analytics (e.g., "average piece length is 3.2 minutes") inform product decisions. Individual scans and account data are not used for this.
- Safety and enforcement — investigating suspected abuse of quotas, infringement notices, or violations of our Terms.
- Legal compliance — responding to valid legal requests, tax recordkeeping (retaining invoices).
4. Legal bases (for EU / UK users)
- Performance of a contract — providing the Service you signed up for.
- Legitimate interests — product improvement, security, fraud prevention.
- Consent — microphone access, optional product newsletters. You can withdraw at any time.
- Legal obligation — tax recordkeeping, responding to valid legal process.
5. Third parties we share data with
SheetSnap is built on a small set of trusted sub-processors. Their roles are described below. We do not sell your personal data.
- Supabase — database, authentication, account records and private library checkpoints. Backups are scoped to your verified account and are not public catalog content.
- Paddle — planned merchant of record for new purchases. Receives checkout information and handles its transaction receipts and billing notices. Stripe — payment processing and servicing for existing purchases. Receives your name, email, and payment information for its transactions.
- Cloudflare Turnstile — protects email sign-in against automated abuse. Processes browser and device signals needed for its security checks. See Cloudflare's privacy policy.
- Resend — transactional email. Receives your email address and the content of emails we send you.
- Vercel — hosting. Handles inbound requests and technical logs. Provider-controlled retention depends on the service and its configuration.
- Plausible — an optional analytics integration, not currently loaded on the public site.
- Google / AI processors — Google sign-in and hosted AI recognition are not currently enabled.
We may share your data with law enforcement only in response to a valid legal process and only the minimum necessary. We will notify you before disclosing your data unless legally prohibited.
In the event of a merger, acquisition, or sale of SheetSnap assets, your data may transfer to the successor. We'll notify you with at least 30 days' notice before such a transfer and give you the option to delete your account first.
6. Data retention
We keep your personal data only as long as we need it to provide the Service and comply with our legal obligations.
- Server account data — retained while your account is active. When you delete your account, these are deleted within 30 days from live systems. Encrypted backups are overwritten within an additional 30 days.
- Billing records — invoices and payment records retained for 7 years to meet tax-recordkeeping requirements, even after account deletion.
- Browser-local music and recordings — stay on the device until you delete them or browser storage is cleared. Private cloud backup keeps the current and previous checkpoints; obsolete versions are removed during subsequent backup cleanup. Existing backups are not deleted solely because paid/beta access expires. Account deletion purges cloud objects after the displayed cancellation period. Server account deletion cannot remove copies on other devices or exported files.
- Sign-in audit log — when your account is deleted, we remove your email address and account ID from our sign-in audit log. The record that an event happened (for example a sign-in), and when, is kept.
- Platform and system logs — the providers we run on (such as our database and hosting providers) keep their own short-lived logs, which are outside our control. These are kept for a limited period and then deleted by the provider.
- Local first-use events — remain in browser storage until cleared. They are not sent to a dedicated analytics database.
- Service-provider logs — governed by each provider's retention configuration, rather than a single app-wide timer.
7. Your rights
Regardless of where you live, you can:
- Access — request a copy of the personal data we hold about you.
- Export — download your scans and practice history in machine-readable formats (JSON + MusicXML files) from within the app.
- Correct — update inaccurate personal data via account settings or by emailing us.
- Delete — close your account and have Your Content deleted (see Section 6).
- Object or restrict — ask us to stop or limit certain processing.
- Withdraw consent — for anything you consented to (mic access, marketing email). Revocation doesn't affect past lawful processing.
- Portability — receive your data in a common format and have it transmitted to another controller.
Contact hello@sheetsnapapp.com with "Privacy request" to exercise any of these rights. We'll respond within 30 days. If we can't fulfill a request (e.g., for legal retention reasons), we'll explain why. You can also complain to your local data-protection authority.
7.1 California residents (CCPA/CPRA)
In addition to the rights above, California residents have the right to know categories of information collected, whether we sell or share personal information (we don't), and the right to non-discrimination for exercising these rights. Contact hello@sheetsnapapp.com with "California Privacy Request" in the subject line.
7.2 EU / UK residents (GDPR)
The rights enumerated above are your GDPR rights. If you believe we've violated GDPR, you may complain to your national supervisory authority. We do not have an EU establishment. Contact hello@sheetsnapapp.com for data-protection requests and information about applicable transfer safeguards.
8. Children
The Service is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you believe a child under 13 has created an account, contact us and we will promptly delete the account and associated data. For users 13-17, parental consent is required (see Terms §2).
9. Security
We use HTTPS and access controls for server-held account data. Browser-local data is protected by your browser and device; it is not a separately encrypted cloud backup. We don't store passwords: sign-in codes and links work once and expire. We don't claim to be impervious — no online service can — but we take care.
If we discover a security incident affecting your data, we'll notify affected users without undue delay and, where required, report to regulators within the applicable deadlines.
10. International data transfers
SheetSnap is based in the United States. If you access the Service from outside the US, your data will be transferred to and processed in the US or other locations used by our providers. Your mandatory local privacy rights are not waived by using the Service. Contact us for information about applicable safeguards.
11. Do Not Track
Some browsers send a "Do Not Track" signal. Because there's no accepted standard for interpreting it, we don't change our behavior based on that signal. The Service does not use advertising trackers regardless of the DNT setting.
12. Changes to this policy
We may update this policy. Material changes will be notified via email and / or an in-app banner at least 14 days before they take effect. The "Last updated" date above reflects the current version. Historical versions are available on request.
13. Contact
Privacy questions / data-subject requests: hello@sheetsnapapp.com (subject: Privacy request)
General contact: hello@sheetsnapapp.com
Copyright reports: hello@sheetsnapapp.com (subject: Copyright report)