Overview
KeepAwake ("we", "us") operates https://keepawake.app. This policy explains how we handle information. Short version: all jiggling techniques run entirely in your browser โ we never see what you enter or what your computer does.
Information We Do NOT Collect
KeepAwake does not collect or store:
- Your name, email address, or any personally identifiable information
- Your IP address (Google Analytics is configured with IP anonymization)
- Any information about your computer's activity, idle state, or screen
- Login credentials of any kind (we have no account system)
- Data from your employer, device, or corporate network
Information Collected Automatically
Google Analytics 4
We use Google Analytics 4 to understand aggregate traffic. GA4 collects: pages visited, time on site, approximate geographic region (country-level, IP anonymized), browser and device type, and custom events (jiggler_started, jiggler_stopped, interval_changed, wake_lock_supported, page_engaged). These events contain no personal data.
Opt out: Google Analytics opt-out add-on. Google's policy: policies.google.com/privacy.
Google AdSense
We serve ads through Google AdSense. Google may use cookies to personalise ads based on browsing history. Opt out at Google Ads Settings. More: How Google uses partner site data.
Browser APIs Used โ Privacy Implications
Screen Wake Lock API
When you click Start, KeepAwake calls navigator.wakeLock.request('screen'). This is a browser-to-OS call that prevents screen dimming. No data is transmitted over the network. The Wake Lock is released immediately when you click Stop or close the tab.
Picture-in-Picture
KeepAwake creates a 2ร2 pixel animated canvas and streams it as a video via the browser's PiP API. This process is entirely local โ no video data is transmitted to any server. The PiP window contains only a tiny color-cycling pixel, completely invisible in practice.
AudioContext
An AudioContext generates a 40Hz sine wave at 0.0001 gain (effectively silent) using your device's audio system. This is processed entirely locally by your browser's Web Audio API. No audio is recorded or transmitted.
Web Worker
A Web Worker is created from an inline Blob URL to run a background heartbeat timer. The worker contains no tracking code and communicates only with the main page JavaScript. It is destroyed when you stop the jiggler or close the tab.
Local Storage
KeepAwake stores one item in your browser's localStorage: sa-theme โ your light/dark mode preference. This never leaves your device and is never transmitted to our servers.
Cookies
KeepAwake sets no first-party tracking cookies. Google Analytics and AdSense set their own cookies per Google's policy. You may disable cookies in your browser settings without affecting the jiggler functionality.
Third-Party Resources
We load fonts from Google Fonts (fonts.googleapis.com / fonts.gstatic.com). These requests are preconnected with crossorigin to minimise data sharing. Google Fonts logs basic request data per their privacy policy.
GDPR Rights (EU/EEA Users)
You have rights to access, portability, erasure, and objection to processing under GDPR. Since we collect no personal data directly, most rights are satisfied by default. For Google's data, refer to Google's GDPR resources. Contact: hello@keepawake.app.
CCPA Rights (California Residents)
We do not sell personal information. Contact: hello@keepawake.app.
Children's Privacy
KeepAwake is not directed at children under 13. We do not knowingly collect information from children.
Security
KeepAwake is served exclusively over HTTPS. All traffic between your browser and our servers is encrypted. All jiggling techniques run client-side and establish no server connections during operation.
Changes
We may update this policy periodically. Changes will be posted here with a revised date.
Contact
Why We Built a Privacy-First Mouse Jiggler
KeepAwake was designed from the ground up with a clear principle: a tool that runs on your computer, interacting with your browser's deepest system APIs, should never phone home with data about what it's doing. That's why every single technique KeepAwake uses โ Wake Lock, Picture-in-Picture, AudioContext, Web Worker, Canvas animation โ runs entirely on your device, in your browser, with zero network communication during operation.
We're aware that a mouse jiggler is, by definition, a tool people use in sensitive workplace contexts. Whether you're managing your Teams status on a corporate-managed laptop, keeping Slack active during deep work, or preventing your screen from locking during a confidential presentation โ the last thing you need is a tool that tracks your usage patterns, reports back to a server, or leaks information about your browsing session. KeepAwake doesn't and never will.
What "Client-Side Only" Actually Means
When we say the jiggler runs "client-side," we mean every computation, every API call, every timer, and every technique activation happens exclusively inside your browser on your own device. Here's what doesn't happen when you click Start:
- No request is sent to our servers indicating you started the jiggler
- No data about your screen, idle state, or computer activity is transmitted
- No information about which techniques are active or which browser you're using is logged to our backend
- No timestamp of when you started or stopped is recorded on our end
- No cookies are set by the jiggler itself
The only server communication when you use KeepAwake is the initial page load โ your browser downloads the HTML, CSS, and JavaScript files, and then everything runs locally. After that, the page could theoretically work offline (and does, via our service worker), with no further server contact required.
Remote Work Privacy and Mouse Jigglers
A common concern among remote workers is whether using a mouse jiggler can be detected by their employer. This is a fair question, and we want to answer it honestly rather than offer false reassurances.
What KeepAwake does: It prevents your computer's OS-level idle timer from triggering by using browser APIs. It appears in your system's process list only as a browser tab โ specifically, as part of whatever browser process (Chrome, Edge, Firefox) you're using. It installs nothing, modifies no system files, and leaves no trace after the tab is closed.
What standard employer monitoring tools see: Basic idle-time monitoring and presence detection โ the kind built into Teams, Slack, and Zoom โ will see a continuously active system with a non-idle status. They won't be triggered. Firewall-level monitoring would see normal browser traffic to keepawake.app, the same as any other website visit.
What advanced monitoring tools might see: Enterprise tools like Teramind, ActivTrak, Veriato, or similar keystroke/activity tracking software operate at a fundamentally different level โ monitoring which application is in focus, keystroke frequency, screenshot captures, and behavioral patterns. No browser-based tool of any kind can fool these systems, and KeepAwake makes no claim to do so.
We recommend using KeepAwake for legitimate purposes โ staying available during focused reading, phone calls, presentations, or training sessions โ and being aware of your employer's monitoring policies.
Advertising and Free Access
KeepAwake is completely free to use, and we are committed to keeping it that way. The service is funded by Google AdSense display advertising shown in page margins. This is the same advertising model used by billions of websites globally, and it means we never need to charge users, introduce subscription tiers, or monetize user data to keep the lights on.
Google AdSense may set its own cookies and use browsing data to serve personalized advertisements, in accordance with Google's own privacy policies. If you prefer not to receive personalized ads, you can adjust your preferences at Google Ads Settings, or use a browser extension that blocks advertising cookies. The jiggler functionality works identically whether or not you interact with any advertisements.
Open and Honest Operation
We don't hide what KeepAwake does or how it works. The entire technical explanation of every technique โ Wake Lock API, Picture-in-Picture, AudioContext, Web Worker, and Canvas animation โ is documented publicly on our How It Works page. The JavaScript that powers the jiggler can be inspected in your browser's developer tools at any time. We have nothing to hide because there is nothing to hide.
If you ever have a question about what data KeepAwake does or doesn't collect, or want to raise a concern about our practices, email us at hello@keepawake.app. We respond to every message.
Your Responsibility as a User
KeepAwake is a tool, and like any tool, the responsibility for how it is used rests with the user. We built it to solve a legitimate and frustrating problem โ keeping your availability status accurate during genuine work sessions. Using it to misrepresent your availability when you are actually not working may violate your employer's remote work policy. We encourage all users to review their organization's guidelines and to use KeepAwake in a manner consistent with their professional obligations.
We also want to be clear that KeepAwake has no affiliation with Microsoft, Slack Technologies, Zoom Video Communications, or any other platform mentioned on this site. Product names and trademarks are the property of their respective owners. References to Microsoft Teams, Slack, Zoom, and other platforms are for descriptive purposes only to explain the tool's use cases.
Last updated: June 2025. We may update this policy periodically. Changes will be posted here with a revised date.