Privacy Policy
Last updated: 17 July 2026
Who is responsible for this site
VisualizerApp is operated by INLine Computers. For privacy questions, support, or data requests, contact support@inline-computers.co.uk. Alternative project contact: hello@visualizerapp.com.
Data controller: M White / INLine Computers.
Person responsible for data protection: M White.
ICO registration number: C1879735.
Students and classroom use
- VisualizerApp does not require accounts, logins, or names for teachers or students.
- The camera feed, freeze frames, annotations, captures, and saved lesson decks are processed and stored locally in the teacher's browser on the teacher's device by default. They are not uploaded to VisualizerApp servers during normal use.
- We do not knowingly collect or hold personal data about students or pupils on our servers. Nothing a class does in front of the camera reaches us during normal use.
- The optional analytics described below only run after consent and measure app usage, for example which buttons are used. Analytics never include camera images, audio, or lesson content.
- Schools evaluating VisualizerApp for data protection purposes can treat it as a local tool, similar to whiteboard software: the school's own device policies apply, and no student data is shared with VisualizerApp during normal classroom use.
- Questions from school data protection officers are welcome at support@inline-computers.co.uk.
This notice explains the limited personal data we receive through VisualizerApp.com and the optional services connected to it. It is written mainly for UK users, including schools and trusts, and uses UK GDPR language where relevant.
At a glance
- Core camera processing happens on your device.
- No account is required for core document camera use.
- Optional analytics only run after consent.
- 7-day Pro Free Trial, Annual Pass, and Monthly Subscription checkout/licence handling are processed through Lemon Squeezy.
- Manual backup files are created in your browser and stay with you.
- Wireless mode uses encrypted WebRTC with PeerJS signalling and STUN setup.
- Some third-party providers are used only when you choose features such as Pro activation, book search, feedback, or wireless mode.
1. Data processed locally on your device
Camera and microphone
When you allow camera or microphone access, the stream is processed in your browser tab to show live video, freeze frames, annotate, compare views, and optionally record. For normal core use, this content does not leave your device or get uploaded to our servers.
Local browser data
We save browser-side data in localStorage and browser storage such as IndexedDB so the app can remember settings and related choices. Depending on which features you use, this can include UI preferences, performance mode, record countdown choice, analytics consent choice, resource pane preferences, 24-hour Pro Preview status, a local device identifier for activation/preview management, Pro licence token/status, saved settings, preset slots, Lesson Decks, pinned resources, school branding, and local audio notes. You can clear this at any time by clearing site data in your browser settings.
Student names, team names, and classroom labels
Core document camera use does not require student accounts or student names. Some optional classroom tools let a teacher type names, team names, labels, or short notes, for example Birthday Mode, Celebration Mode, Random Name Picker, Spinner, Tally Mode, Lesson Decks, Presenter Mode labels, and labelled exports.
For normal use, this text is processed locally in the browser. It may be stored in local browser data, shown on the classroom display, or included in images/PDFs/exports that the teacher chooses to create. It is not uploaded to VisualizerApp servers for normal core use. Teachers and schools should only enter student information where this is allowed by their own policies; initials, first names, team names, or non-identifying labels can be used where appropriate.
Local PDFs and exports
If you upload your own PDF, it is read and rendered in your browser using PDF.js. PDF and image exports are created in the browser and are not uploaded to our servers as part of the export process.
Manual backup
v3 includes a manual backup file export/import feature. Manual backup files are created in your browser and saved wherever you choose to store them.
Service Worker cache
To support offline use and app installation, a Service Worker caches app files such as HTML, CSS, JavaScript, and icons. This cache is for the app itself and does not store your live camera feed on our servers.
2. Optional services that may involve third parties
Wireless mode (phone as document camera)
VisualizerApp can connect your phone as a wireless document camera using WebRTC. The media stream is encrypted and is designed to travel directly between the devices you connect.
To set up that connection, the app uses PeerJS for signalling and Google STUN servers for network discovery/NAT traversal. Those services may receive IP addresses and connection metadata needed to establish the link, but they do not receive the camera image or audio stream itself.
Resource Pane (Open Library / Internet Archive)
The Resource Pane lets you search for and read free books from Open Library (openlibrary.org, part of the Internet Archive) or upload your own PDF files.
When you search for a book, your search query is sent to the Open Library API. Book cover images are loaded from covers.openlibrary.org. Page images or media needed to display readable items are loaded from archive.org. These requests are subject to the Internet Archive / Open Library terms and privacy policies.
Optional analytics
On selected public website pages and supported app pages, including v2 and v3, we use Google Analytics 4 (GA4) to understand which pages and features are being used, but only if you have already consented. GA4 is only loaded if you give consent via the cookie banner. If you decline, no GA4 scripts run and no GA4 tracking cookies are set by us.
GA4 advertising features are disabled. Optional analytics are used for site/app improvement only. We do not collect camera video, audio, images, annotations, or uploaded local PDFs through analytics. The current analytics setup also honours browser Do Not Track settings.
Pro checkout, licence, and activation
The 7-day Pro Free Trial, Annual Pass, and Monthly Subscription checkout/licence flow is handled through Lemon Squeezy. The Pro Free Trial collects contact details needed to issue the temporary licence key and does not currently collect payment card details. Paid checkouts include payment, tax handling, licence issuing, and subscription management; Lemon Squeezy handles the payment transaction as Merchant of Record. We receive limited trial, purchase, subscription, and licence information needed to activate Pro and manage entitlement/support, but not your full card details.
When you activate Pro, your licence key is checked by our activation service and the resulting status/token is stored locally in your browser. We may also process limited activation-related data such as licence key status, device identifier, activation count/status, and expiry information to manage entitlement, prevent misuse, and support legitimate activations.
Support and feedback
If you email us, use the contact page, or choose the optional feedback form, we receive the information you send so we can reply, troubleshoot issues, handle billing/privacy questions, and keep a basic business record of the enquiry. The feedback form is hosted on Google Forms.
3. Our lawful bases for processing
Under UK GDPR, the lawful basis depends on which part of the site or service you use.
- Consent: optional GA4 analytics and your analytics preference choice.
- Contract: 7-day Pro Free Trial, Annual Pass, and Monthly Subscription licence activation/validation, purchase-related support, cancellations, refunds, and related service communications.
- Legal obligation: keeping records where needed for accounting, tax, or other legal requirements connected to paid licences and subscriptions.
- Legitimate interests: security logs, fraud/abuse prevention, service reliability, troubleshooting, protecting the service from misuse, and handling routine support/admin records.
- Local browser processing at your request: much of the core camera functionality is designed so that the content is processed on your device and generally is not sent to our servers at all. Where we do not receive the content, there is no matching server-side content processing by us for that material.
4. How long we keep personal data
We aim to keep personal data only for as long as it is genuinely needed.
- Support emails and contact messages: kept only as long as needed to reply, support the issue, and keep a basic business record, then deleted when no longer needed.
- Billing and licensing records from Lemon Squeezy / activation support: kept for as long as needed to manage Pro access, accounting, refunds, disputes, and legal obligations.
- Security and operational logs: kept for a limited period for security, troubleshooting, and abuse prevention, then routinely deleted or overwritten.
- Analytics data: retained according to the configured GA4 retention settings and only collected after consent.
- Local browser data on your device: stored until you clear site data, remove it in browser settings, or the app overwrites it with newer local settings.
5. Third-party providers and international transfers
We use the following third-party providers to run the site or optional features. They are used only when relevant to the feature you choose.
| Service | Purpose | Data they may receive |
|---|---|---|
| Cloudflare | CDN, DNS, security, delivery, and activation Worker | IP address, request headers, page URL, licence activation requests, and limited device/activation metadata |
| jsDelivr CDN | Hosting Bootstrap, Bootstrap Icons, PeerJS, jsPDF, PDF.js, and QRCode libraries | IP address, user agent, CDN request logs |
PeerJS (0.peerjs.com) | WebRTC signalling for wireless mode | Peer IDs, signalling metadata, normal request metadata |
| Google STUN servers | WebRTC network discovery / NAT traversal | IP address and connection metadata needed to set up the peer-to-peer link |
| Open Library / Internet Archive | Book search and reading in Resource Pane | Search queries, book/page requests, normal request metadata |
| Google Analytics 4 | Optional website & app analytics (consent required) | Page views, feature usage events, browser/device data, cookie/client identifiers, approximate location |
| Google Forms | Optional feedback form | Information you choose to submit |
| Lemon Squeezy | 7-day Pro Free Trial, Annual Pass, and Monthly Subscription checkout/licence handling | Contact, trial, purchase, payment, billing, licence, and subscription details where relevant |
We do not use Cloudflare's JavaScript analytics beacon. We also do not share camera content, recordings, annotations, or local PDFs with these providers beyond what is needed for the feature you choose.
Some of these providers may process personal data outside the UK. Where relevant, we rely on the transfer mechanisms those providers make available, such as adequacy regulations or contractual safeguards, and their own privacy notices/terms apply to their services.
6. Schools and classroom use
VisualizerApp is designed for teachers, classrooms, and demos. The core app does not require student accounts.
Schools, trusts, and teachers remain responsible for their own classroom policies, permissions, safeguarding, and local data protection procedures when using cameras, entering student names or labels, showing student work, exporting materials, or deciding what is displayed in class.
7. Security and data minimisation
We aim to minimise data collection where possible. The core app is designed around local, browser-based processing so that much of the most sensitive classroom content stays on your device rather than being uploaded to a server.
The site uses HTTPS. Camera and microphone access are controlled by your browser permissions and can be revoked in your browser settings. Local browser data can be cleared by clearing site data in your browser.
8. Your rights
For personal data we receive through the site or related services, you can ask about your rights of access, correction, deletion, restriction, objection, and withdrawal of consent where consent is used. Depending on the situation, you may also have portability rights where applicable.
Because most core camera content stays on your device and is not uploaded to our servers, some requests will not apply to that local classroom content because we do not hold it.
- Access, correct, delete, restrict, or object to relevant personal data we hold
- Withdraw consent at any time for optional analytics
- Make a data protection complaint to us, or lodge a complaint with the UK Information Commissioner's Office if you think we have handled your data unfairly
To exercise these rights, contact us using the details below and we will handle requests in line with applicable law.
9. Data protection complaints
If you have a data protection concern or complaint, contact us first at support@inline-computers.co.uk and make clear that your message is a data protection complaint. Please include enough detail for us to understand the issue, locate any relevant records, and reply.
We will acknowledge data protection complaints within 3 working days, investigate the issue without undue delay, keep you informed, and provide an outcome without undue delay. If you are not satisfied with our response, you can contact the UK Information Commissioner's Office. Our ICO registration number is C1879735.
You can also search the ICO register of fee payers using our registration reference on the ICO register page.
10. Contact
Privacy, support, billing, or school review questions: support@inline-computers.co.uk
Data controller: M White / INLine Computers
Person responsible for data protection: M White
ICO registration number: C1879735
Alternative project contact: hello@visualizerapp.com
Feedback form: forms.gle/xzVDjs4hSxBmJHsP6
Contact page: visualizerapp.com/contact.html
11. Changes
We may update this policy to reflect product, legal, or operational changes. The "last updated" date at the top will be revised accordingly.