Help

Get help with
Tap Zap.

Everything you need to install, activate, troubleshoot, or get a refund. Plain technical answers, no fluff.

01 · Getting started

Install and first launch.

Install on macOS

Download TapZap-mac.dmg from the post-purchase page. Double-click it, then drag the Tap Zap icon onto the Applications shortcut. Eject the DMG when the copy finishes. Open Applications and double-click Tap Zap to launch.

The first launch may take an extra second while macOS verifies the signature with Apple's notary service. After that, Tap Zap lives in the menu bar — there is no main window. Click the icon to open the popover.

Tap Zap is a universal binary signed by Developer ID Application: Miriam Strehlau and notarized by Apple. It runs natively on Apple Silicon and Intel Macs from macOS 12 onward.

"Apple cannot verify this app" or Gatekeeper warning

If macOS blocks the first launch with a warning that the developer cannot be verified, the app was downloaded outside of Safari and lost its quarantine attribute, or your Gatekeeper policy is strict. The fix is one of two paths:

  1. Right-click (or Control-click) Tap Zap in Applications and choose Open. Confirm Open in the dialog. macOS records the exception and never asks again.
  2. On macOS Sonoma and later, open System Settings → Privacy & Security, scroll to the bottom, and click Open Anyway next to the message about Tap Zap. Authenticate with Touch ID or your password.

If neither button appears, the binary is fine but the download was corrupted. Re-download the DMG and try again.

Install on Windows

Download TapZap-windows.zip. Right-click the ZIP, choose Properties, and tick Unblock at the bottom of the General tab if it appears, then click OK. This is Windows's mark-of-the-web — leaving it on can confuse the installer.

Extract the ZIP, then run TapZapSetup.exe. Follow the prompts. Tap Zap installs to %LocalAppData%\TapZap2\ and adds a Start Menu shortcut. Launch it from the Start Menu after install.

Windows SmartScreen "unrecognized app"

SmartScreen flags new installers until enough downloads accumulate reputation. To proceed, click More info on the SmartScreen dialog, then Run anyway. The app is signed; this is purely a reputation gate that clears as more users install.

First launch walkthrough

The popover auto-opens once on the very first launch so you can find it. After that, Tap Zap runs silently in the background — click the menu bar icon (macOS) or the system tray icon (Windows) any time to open the popover. Right-click the icon for the menu (Quit, Settings, etc.).

Drag the WARMTH slider to set the color temperature, drag BRIGHTNESS to dim, and use DAY / EVENING / NIGHT presets to jump to common settings. The big red ZAP button at the bottom toggles the filter on and off.

02 · License & activation

Activate your copy.

Where to find your license key

After purchase, your license key is delivered two ways. The first is the email receipt from DodoPayments — check your inbox (and spam folder) for a message titled "Your Tap Zap license key" with the key in the body. The second is the post-purchase page at tapzap.app/download: if you still have the redirect URL from checkout open, the page shows your key with a Copy button.

How to activate

Open Tap Zap and paste your key into the license field. Click Activate. A boot animation plays for at least three seconds while Tap Zap reaches the license server, registers your device, and confirms a seat. Once the animation finishes, the filter controls unlock.

The three-second minimum is intentional. It gives the network call enough time to resolve and prevents a flicker between states if your license server response is fast.

"Invalid license key"

The most common causes, in order:

  • Whitespace or hidden characters from copy/paste — the key has no spaces. Re-copy directly from the email or download page.
  • The key belongs to a different product. Tap Zap keys are issued only by DodoPayments for product pdt_0NXz1tGljWw2jLeIByK4C.
  • The order was refunded. Refunded keys are revoked automatically. Email support if you believe this is a mistake.
  • You are entering an old beta key from a previous version. Beta keys do not transfer.

"Device limit reached"

Each license includes three device seats. If you have used all three, Tap Zap will not activate on a fourth machine until you free a seat.

To free a seat, launch Tap Zap on the device you want to retire, open the license panel, and click Deactivate. The seat returns immediately. Then activate on the new machine. If the old device is no longer accessible (lost, sold, wiped), email support with your purchase email and we will reset a seat for you.

Transferring to a new computer

Deactivate on the old computer first, then activate on the new one. Keys are not bound to a specific device — they are bound to a seat count. Deactivating and reactivating the same key on a different machine uses the seat that was just freed.

Lost your key

If you still have the post-checkout redirect URL with a payment_id parameter, opening that URL re-shows the key. Otherwise email support@tapzap.app with the email address you used to buy. We look up the order on DodoPayments and resend the key.

Offline grace period

Tap Zap continues to work for seven days if license validation fails because of network issues — flaky Wi-Fi, captive portals, VPNs, DNS problems. After seven days without a successful re-validation, the filter controls lock until Tap Zap can reach live.dodopayments.com again.

The grace period only applies to network failures. If the server explicitly returns "invalid" or "deactivated", the gate locks immediately.

Quarterly re-validation

Roughly every 90 days, Tap Zap pings the license server in the background to confirm your seat is still valid. This is normal and silent. As long as you have network access at some point during that window, you will never see anything change.

03 · Features

What every control does.

Warmth slider

The warmth slider runs along a chromaticity-based Kelvin curve. At 0 the display is neutral 6500K. At 1.0 the display is pure red — true 0K, R=1.0, G=0.0, B=0.0. Between 6500K and 2000K, Tap Zap follows the standard CIE chromaticity table. Below 2000K, a smooth red-tail interpolation eases the transition into pure red so there is no abrupt drop at the bottom.

Brightness slider

The brightness slider applies software dimming on top of your hardware brightness. By default it goes down to 10%, which is well below most laptop hardware floors. The hardware backlight stays where it is — Tap Zap is scaling the gamma table (macOS) or the magnification color matrix (Windows).

If you need to go below 10%, enable Allow Extreme Dim in Windows settings (Tap Zap menu → Settings). On macOS the floor is fixed at 10% to prevent the screen from going completely black during PWM-Safe mode.

DAY / EVENING / NIGHT presets

The three preset buttons jump the warmth slider to exact Kelvin points on the curve:

  • DAY — 4000K. Mild warmth, suitable for daytime work when overhead lighting is cool.
  • EVENING — 2700K. Roughly incandescent. Common reading temperature after sundown.
  • NIGHT — 0K. Pure red. The strongest setting Tap Zap offers, for late-night use or when you need to preserve dark adaptation.

A preset button shows as active when the warmth slider is within 2% of the preset value. Drag the slider away from a preset and the highlight clears.

PWM-Safe Mode

PWM-Safe Mode pins your hardware backlight to 100% while Tap Zap handles all dimming in software. On built-in laptop panels, Tap Zap uses Apple's DisplayServices framework (macOS) or WMI (Windows) to lock the backlight. On external monitors, Tap Zap tries DDC/CI (Windows) to do the same — only externals that expose DDC/CI control are supported.

The point: many backlights use pulse-width modulation to dim. By holding the backlight at 100%, the modulation never engages, and the screen stays flicker-free at any apparent brightness. The toggle hides itself if no controllable display is present.

On Windows, Tap Zap polls every two seconds to confirm the lock and auto-reverts if it cannot. On macOS, ambient light compensation is held off the entire time the app is running so it cannot fight the lock.

Menu bar / system tray icon

On macOS, Tap Zap shows a custom PDF icon in the menu bar — bright red when the filter is active, monochrome when off. Click to open the popover. Right-click for the menu (Quit, Settings, About).

On Windows, Tap Zap shows a system tray icon next to the clock. Click to open. Right-click for the menu.

ZAP button

The big red ZAP button at the bottom of the popover toggles the filter on and off instantly. Slider settings persist across toggles — turning the filter off does not reset your warmth or brightness, it just stops applying them.

Hotkeys

If your version of Tap Zap ships with a global hotkey for ZAP, it is configurable in Settings. Older builds do not include hotkey support — check the changelog for your version.

04 · Troubleshooting

Common problems and fixes.

My screen didn't tint

Walk this checklist:

  1. The filter is on. The ZAP button glows red when active. The menu bar / tray icon is also red.
  2. No conflicting app is running. Quit f.lux, Iris, Night Shift, True Tone, or any other gamma-table or color-management software. They will fight Tap Zap for the gamma tables and the loudest writer wins.
  3. On Windows, try Legacy Mode in Settings. The default Magnification API path doesn't cover every scenario; Legacy Mode falls back to gamma ramps which work everywhere except DRM video.
  4. Restart Tap Zap. Quit from the menu and relaunch.
  5. If nothing helps, restart the machine. Some display drivers cache gamma state across sessions.

"PWM-Safe Mode not supported on this display"

Your display does not expose a way for Tap Zap to control its backlight. Either it is an external monitor without DDC/CI, or it is connected through an adapter chain that strips DDC/CI (some USB-C hubs, KVMs, or HDMI splitters). Tap Zap will still work normally — you just don't get backlight pinning on that display.

Filter disappears after sleep/wake (macOS)

This is a known macOS behavior. After a sleep/wake cycle or display reconfigure, the system can reset the gamma tables. Tap Zap re-applies on its own in most cases, but occasionally a click on the menu bar icon is needed to force a re-apply. A full quit and relaunch always works.

See docs/DISPLAY_RECONFIG_REFERENCE.md in the source if you are curious about the exact retry logic.

Filter doesn't cover Netflix or fullscreen games (Windows)

Windows DRM video and exclusive-fullscreen games bypass the Magnification API. Switch to Legacy Mode in Settings — it uses gamma ramps instead, which the GPU applies before any DRM path. The trade-off: Legacy Mode is per-display gamma rather than full-screen color matrix, so colors at the extreme of the curve can look slightly different.

External monitor isn't getting tinted

Most likely a connection issue. Check that the monitor is plugged in via DisplayPort, HDMI, or Thunderbolt directly to the machine. Adapter chains, KVMs, and some docks can drop DDC/CI or block the Magnification API from reaching the display. If you are on macOS, try unplugging and replugging the monitor while Tap Zap is running.

Slider feels sticky on macOS 12

SwiftUI slider performance is genuinely worse on macOS 12 than on later versions. Update to macOS 13 or later if possible.

Wrong colors after disabling Tap Zap

Restart the machine first — usually that's all it takes. If colors still look off, the WindowServer is holding stale gamma. On macOS, run defaults delete com.apple.windowserver in Terminal and log out, then log back in. On Windows, sign out and sign back in.

"License check failed" while online

Tap Zap reaches live.dodopayments.com over HTTPS. If your firewall, corporate proxy, VPN, or DNS resolver blocks that host, the check fails. Try disabling the VPN or switching networks. If you are on a managed corporate machine, ask IT to allow *.dodopayments.com.

Captive portals (hotel Wi-Fi, airport Wi-Fi) also block API calls until you log into the portal. Open a browser, complete the captive portal flow, then retry.

05 · Compatibility

What runs Tap Zap.

Supported macOS

macOS 12 (Monterey) and later. Tap Zap ships as a universal binary, so Apple Silicon and Intel Macs both run native code. There is no Rosetta requirement.

Supported Windows

Windows 10 build 1903 and later, and any version of Windows 11. Any GPU vendor — Intel, AMD, NVIDIA, integrated or discrete — is supported. Tap Zap is DPI-unaware and uses the system scaling factor.

Multi-monitor

The same warmth and brightness settings apply to all connected displays simultaneously. Hot-plug works — connect or disconnect a display while Tap Zap is running and it adjusts automatically.

External monitors with vs. without DDC/CI

External displays that expose DDC/CI brightness control get the full PWM-Safe Mode treatment — Tap Zap pins their backlight at 100% along with any built-in panel. Displays without DDC/CI are skipped, which can make a mixed setup look uneven if PWM-Safe Mode is on. The fix: leave PWM-Safe off if your externals don't all support DDC/CI.

MacBook Pro miniLED (14" / 16")

The 2021+ MacBook Pro miniLED panels use local dimming zones. Applying extreme red at very low brightness can cause visible blooming around bright UI elements. This is a hardware quirk of the panel, not Tap Zap. The effect lessens at higher brightness or warmth settings closer to neutral.

Apple Studio Display & Pro Display XDR

Both are fully supported. The Studio Display does not expose DDC/CI, so PWM-Safe Mode is skipped on it, but warmth and brightness work normally.

06 · Privacy & security

What Tap Zap does and doesn't do.

What data Tap Zap collects

None beyond license validation. When Tap Zap pings live.dodopayments.com to check your seat, it sends your license key, a stable device ID, and a timestamp. There is no analytics, no telemetry, no crash reporting service, no third-party SDKs. The full Privacy Policy has the formal version.

Why Tap Zap needs network access

License validation only. Tap Zap never opens an outbound connection for any other purpose. If you block its network access entirely, it falls into the seven-day offline grace period and then locks until it can re-validate.

Where your license is stored

On macOS, the key and activation record live in your Keychain. The last validation timestamp is in ~/Library/Preferences/com.antigravity.tapzap2.plist.

On Windows, the key and activation record are stored in %APPDATA%\TapZap2\settings.ini, encrypted with DPAPI bound to your Windows user account. The timestamp is plaintext in the same INI.

Permissions Tap Zap doesn't need

Tap Zap does not need Accessibility permissions on macOS. It does not need Screen Recording permissions. It manipulates gamma tables directly through CoreGraphics, which is a public API that doesn't gate on privacy controls.

On Windows, Tap Zap does not require administrator rights to run after install. The installer needs them, but the app itself runs as a normal user.

07 · Refunds & policies

Money-back guarantee.

30-day money-back guarantee

Every Tap Zap license comes with a 30-day money-back guarantee, no questions asked. If Tap Zap doesn't work for you, doesn't run on your hardware, or just isn't what you expected, you get a full refund.

How to request a refund

Email support@tapzap.app with the email address you used to purchase and your DodoPayments order ID (it's in the receipt email). We process refunds within two business days. There is no form, no flowchart, no retention call.

What a refund does to your license

Refunded keys are revoked across all three seats automatically when the refund is processed by DodoPayments. The next time Tap Zap re-validates (immediately, in most cases), the filter controls will lock. The app stays installed in case you want to re-purchase later, but it cannot be used.

Refund policy details

For the formal version, see the Refund Policy.

08 · Comparison

Tap Zap vs. other tools.

Tap Zap vs. macOS Night Shift

Night Shift floors at roughly 2500K. Tap Zap goes all the way to 0K — pure red. Night Shift also doesn't address PWM at all; it only shifts color. If you want true 0K and flicker-free dimming, Night Shift can't do either.

Tap Zap vs. f.lux

f.lux floors around 2000K. Tap Zap goes lower. f.lux has no PWM-safe mode. f.lux was effectively abandoned in 2022 — the last release predates Apple Silicon native builds, so the macOS app runs through Rosetta and feels heavier than it needs to. Tap Zap is native universal binary, sub-1MB.

Tap Zap vs. Iris

Iris is more configurable — it has dozens of toggles for color profiles, schedules, location-based timing, and so on. The trade-off is weight: Iris ships as a Java application and depends on a JRE. Tap Zap is native C++/Swift, single binary, sub-1MB, focused on two things: PWM-safe dimming and true 0K red. If you want every option in the world, Iris. If you want the minimum that actually solves the problem, Tap Zap.

Don't run Tap Zap with other gamma tools

Tap Zap, Night Shift, True Tone (color management side), f.lux, and Iris all write the same gamma tables. Running two at once causes flicker, wrong colors, and unpredictable behavior as they overwrite each other's output. Pick one.

09 · Uninstall

Clean removal.

macOS

Quit Tap Zap from the menu bar (right-click the icon → Quit). Open Applications and drag Tap Zap to the Trash. Empty the Trash.

For a complete clean, also remove preferences and Keychain entries:

  • ~/Library/Preferences/com.antigravity.tapzap2.plist
  • Open Keychain Access, search for tapzap2, and delete any matching entries.

Windows

Open Settings → Apps → Installed apps, find Tap Zap, and click Uninstall. Confirm the prompt.

For a complete clean, also delete %APPDATA%\TapZap2\.

Your license stays valid

Uninstalling does not deactivate your seat. You can reinstall and re-paste the same key any time within your three-seat limit. If you want to free a seat before uninstalling, click Deactivate in the license panel first.

10 · Concepts

How any of this works.

What is PWM and why does it cause eye strain

Pulse-width modulation is how most LED backlights dim. Instead of running the backlight at, say, 30% power continuously, the driver pulses the backlight on and off rapidly — fully on for a fraction of each cycle, fully off for the rest. The eye averages it out as 30% brightness. Some people detect the flicker subconsciously and report headaches, fatigue, or nausea after extended use. The deeper write-up is at /blog/.

Blue light, melatonin, and the 0K red approach

Blue wavelengths (around 460-480nm) are the most effective at suppressing melatonin via intrinsically photosensitive retinal ganglion cells. Most blue-light filters reduce blue output by warming the white point. Tap Zap's 0K mode goes further: it removes blue and green entirely, leaving only red. Red wavelengths (around 600-700nm) suppress melatonin the least. The chromaticity-based curve is documented in our changelog.

Gamma tables vs. hardware brightness

Hardware brightness controls the backlight intensity — physically more or less light coming out of the panel. Gamma tables remap each pixel's R, G, B values before they hit the panel — same backlight, different pixel values. Tap Zap dims by lowering gamma output, not by lowering backlight power. That's how it can dim past the hardware floor without engaging PWM, and how it can drop blue and green to zero while leaving the backlight at full strength.

Why software can't eliminate PWM

PWM is a property of the backlight driver, not the operating system. No software can change how the LED pulses. What software can do is hold the backlight at a fixed level — typically 100% — where most drivers run continuously instead of pulsing. PWM-Safe Mode does exactly this: pin the backlight to 100% so the driver never enters its pulsing range, then dim apparent brightness with gamma tables instead. Strictly speaking, Tap Zap doesn't eliminate PWM. It avoids it.

Still need help?

If anything here didn't cover your situation, write us. We answer every email and we don't use a ticket system.

Contact support → Changelog →