Virtual Storytime Privacy Policy
This policy explains what Virtual Storytime handles, what stays on your device, and when outside services are involved.
Effective and last updated: August 9, 2026
Scope
Virtual Storytime is provided by Nathan Christopher. This policy applies to the Virtual Storytime desktop apps for macOS and Windows, the web app at storytime.hellonathan.ca, and the related product, privacy, and feedback pages on hellonathan.ca. It also applies when you contact me about Virtual Storytime through the general hellonathan.ca contact form.
The short version is: your books and camera video stay on your device. Virtual Storytime has no user accounts, advertising, or in-app analytics, and I do not sell your personal information.
Information handled on your device
PDFs and page images
When you choose a PDF, Virtual Storytime reads and renders it locally on your computer or in your browser. The PDF, its text, and its rendered page images are not uploaded to me or to a Virtual Storytime server.
While the app is open, it keeps the books you loaded in memory so you can present and switch between them. The desktop app can also save the name and local file path of your most recently opened PDF for the optional Reopen last book shortcut. The web app cannot access or save a full local file path.
Camera video
The camera overlay is optional and off until you turn it on. If you enable it, your operating system or browser asks for camera permission and Virtual Storytime displays the live video locally. The app requests video only—not microphone audio—and does not record, save, upload, or transmit the camera stream.
You can turn the camera off inside the app and can revoke camera permission at any time in your operating system or browser settings.
Saved settings and license details
Virtual Storytime uses local app or browser storage to remember settings such as page layout, camera position and shape, custom effect emoji, shortcut preferences, whether to show Help at startup, and per-book layout choices. A per-book choice is identified locally by the PDF's file name and page count; the PDF itself is not saved with that setting.
If you apply a license key, the key, validation result, validation time, and any customer email returned with a successful validation are cached locally so the app remains unlocked offline. On desktop, the app also stores a skipped update version if you choose Skip This Version.
This local information is not synced to me. You can remove it by clearing the web app's site data in your browser or deleting Virtual Storytime's application data on your computer. Removing the desktop app itself may not remove its separate application-data folder.
When information is sent online
License purchase and validation
Purchases use a checkout hosted by Lemon Squeezy, the merchant of record. Lemon Squeezy processes the purchase information needed for checkout, payment, tax, fraud prevention, receipts, and license delivery. I can access the order and customer details Lemon Squeezy makes available to sellers, but I do not receive or store your full payment-card number.
When you paste a key into Virtual Storytime and click Apply, the app sends that key to Lemon Squeezy's license-validation service. A valid result can include the purchaser's email address, which is cached locally with the key. The app does not activate a device with Lemon Squeezy and does not contact the license service again after a successful validation unless you clear local storage and enter the key again.
Web app hosting and desktop updates
The web app is delivered by Vercel. Like any hosting provider, Vercel processes standard request information needed to deliver the app, such as an IP address, requested URL, browser or device information, and request time. Virtual Storytime does not add analytics or advertising trackers to the web app.
The desktop app checks a small version file shortly after launch and when you choose Check for Updates. The version file and installers are delivered through Amazon CloudFront. Amazon Web Services may process standard request information such as an IP address, request time, and basic device or network information. The update request does not include your PDF, camera video, license key, name, or email address.
Optional feedback and support
If you choose Send Feedback / Report a Bug, Virtual Storytime opens a page on hellonathan.ca and includes only the app version and general platform (for example, Windows desktop or web app) in the page address. No PDF, file name, file path, license key, camera information, or other app data is attached automatically.
The feedback form asks for a message and feedback type. Your name and email address are optional. If you submit Virtual Storytime feedback or contact me about Virtual Storytime using the hellonathan.ca contact form, Formspree processes the form and sends it to me. Those forms also use Google reCAPTCHA to reduce spam, so Google may process browser, device, cookie, and interaction information for security and abuse prevention.
Public website analytics
The public Virtual Storytime pages on hellonathan.ca, including this policy and the feedback page, use Google Analytics 4 to understand page visits and improve the website. Google may process information such as your IP address, approximate location, browser or device information, pages viewed, interactions, and cookies or similar identifiers under Google's Privacy Policy. This website analytics is separate from the Virtual Storytime desktop and web apps, which do not contain analytics.
You can limit cookies in your browser and can use Google's available privacy and analytics opt-out controls. Blocking analytics cookies does not stop Virtual Storytime from working.
How information is used and shared
I use information received through purchases, feedback, support, and website analytics only to:
- provide licenses, receipts, support, and requested replies;
- operate, secure, troubleshoot, and improve Virtual Storytime and its website;
- understand general website use; and
- meet accounting, tax, legal, fraud-prevention, and dispute-resolution obligations.
I share information only with the service providers described in this policy when needed for those purposes, when you ask me to, or when required by law. I do not sell personal information or use it for targeted advertising.
Retention, access, and deletion
Local app information stays on your device until you clear it. I keep support and feedback messages only as long as reasonably needed to respond, improve the product, maintain appropriate business records, or meet legal obligations. Purchase and transaction records may be retained for accounting, tax, fraud-prevention, and legal requirements. Service providers keep information according to their own policies and legal obligations.
Depending on where you live, you may have rights to ask about, access, correct, or delete personal information I hold about you. Use the contact page to make a request. I may need enough information to verify the request, and some records may need to be retained where the law permits or requires it.
Children's privacy
Virtual Storytime is designed to be operated by adult authors, educators, librarians, and presenters. It may be used during presentations for children, but the app does not identify audience members or collect information from them. Please do not submit a child's personal information through the feedback form, and obtain any permission required before showing a person in the optional camera overlay.
Security and international processing
I use reasonable safeguards appropriate to the information involved, but no electronic transmission or storage method can be guaranteed completely secure. The service providers listed above may process information outside Canada, including in the United States, where different privacy laws may apply.
Changes to this policy
I may update this policy as Virtual Storytime or its service providers change. The current version will remain at this address, and the effective date at the top will be updated. If a change materially affects how the app handles information, I will provide additional notice where appropriate.
Contact
For privacy questions or requests, contact Nathan Christopher through the contact page.