Privacy

Lightspot works on your Mac and keeps what it learns there. This page lists every source it reads, everything it stores, the two network requests it makes and when, and the commands it runs, as of version 1.2.0.

Lightspot guide
  1. Overview
  2. Install, update and uninstall
  3. Searching and the app grid
  4. Calculator and conversions
  5. Developer tools
  6. Terminal history and projects
  7. Custom commands, web search and snippets
  8. Browser, clipboard and system
  9. Turning off Apple Spotlight
  10. Menu bar and settings
  11. Privacy
  12. How Lightspot works

In short

  • No file index: Lightspot never crawls your disk.
  • No account, no analytics, no crash reporting, no ads.
  • Two network requests: a daily check for a new release on GitHub, which you can turn off, and your public IP address from api.ipify.org, only when you ask for it.
  • Clipboard history stays in memory and is gone when Lightspot quits.
  • Search history keeps what you opened, not what you copied. Everything Lightspot stores is in its preferences and one folder, which the uninstaller deletes.

What Lightspot reads

SourceWhat exactlyWhen
Applications/Applications, ~/Applications, /System/Applications (+ Utilities), /System/Library/CoreServices/Applications: app names, icons, bundle IDs and categoriesAt launch and when the panel opens, at most once a minute
zsh historyThe last 2 MB of your history fileWhen the panel opens and the file changed
Editor recent projectsThe recent-folder lists of VS Code, Cursor, Zed, JetBrains IDEs, Android Studio and Sublime TextWhen the panel opens and a list changed
Default browserBookmarks, the last 3 or 7 days of history (or none), and open tab titles and addressesIn the background while you search
ClipboardText you copyEvery 0.6 seconds, by checking whether the clipboard changed
FinderThe folder of the front Finder windowWhen the Terminal in Finder Folder action matches your query
Processes and portsProcess names, CPU and memory use; processes listening on TCP portsWhen the panel opens, and while you type a kill query
HardwareLoad, memory, disk space, battery, uptime, network addressesOnly for sys and IP queries
System settings stateSpotlight’s shortcut, process and indexing state; /etc/pam.d/sudo_local for Touch IDWhen the panel or menu opens, or the related action matches

Everything read is kept in memory for searching and is not copied anywhere. Browser databases are opened read-only where they are. Only the default browser is read; bookmarks and history of your other browsers are left alone.

What Lightspot stores

Lightspot writes its settings to its preferences (com.lightspot.app); the full list of keys is on the settings page. Apart from your settings, that is:

  • Your custom commands, pinned commands and the five text snippets.
  • Up to 30 apps you opened through Lightspot, for the recent-apps row.
  • Search history: for each result you open, the text you typed, the result’s title and subtitle, what it does and when, up to 200 entries. Results that only copy something are treated differently: clipboard entries, calculator answers, developer tools and kill actions are not recorded at all, and other copy results (snippets, the hardware readout) only count towards ranking, without their text. Older history saved by earlier versions is cleaned the same way. Clear Search History in the menu deletes it.
  • The date of the last update check, and a version you chose to skip.

Outside its preferences, Lightspot keeps a small lock file in ~/Library/Application Support/Lightspot, so that only one copy runs, and while an update installs it unpacks the download in a temporary folder that it deletes afterwards.

The clipboard history itself is never written to disk. Lightspot skips copies that password managers mark as concealed (org.nspasteboard.ConcealedType, com.agilebits.onepassword and similar types).

Network

Lightspot makes two kinds of requests, both over HTTPS:

  • Update check: a request to api.github.com/repos/openhoangnc/mac-lightspot/releases/latest, without any account, whose user agent says Lightspot/<version> and the project’s URL. It runs five seconds after launch and when you open the menu, only if Automatically Check for Updates is on (the default) and the last successful check was more than 24 hours ago; a failed check is retried at the next launch or menu open. Check for Updates… runs it on demand. When you choose Install and Relaunch, Lightspot downloads the release’s Lightspot.zip, only from GitHub addresses.
  • Public IP: a request to https://api.ipify.org, sent only when your query clearly asks for the IP address (ip, my ip, public ip, ipv4) or you press ↵ on the IP Address row. It uses a session that stores nothing on disk, waits at most 3 seconds, and the answer is kept in memory for 15 minutes.

Nothing else goes out. Web searches, search prefixes, bookmarks and URL commands open in your browser, which then connects as usual. The installer downloads the app from GitHub and sends nothing else.

Commands Lightspot runs

Actions run only when you press ↵ (or ⌘↵, ⌥↵) or choose a menu item. These are the programs involved, for read-only checks and for actions:

ForRuns
Checking Apple Spotlight’s statelaunchctl print-disabled, mdutil -s /
Changing Apple SpotlightactivateSettings -u, launchctl enable/disable, killall Spotlight, mdutil -a -i (admin)
Reading Zed’s recent projectssqlite3, read-only
kill queriesps -axo pid,pcpu,rss,comm and lsof -iTCP -sTCP:LISTEN
Open tabs and the Finder folderAppleScript sent to your browser and to Finder
Quick actionsosascript, pmset, screencapture, open, and for admin actions sudo
Installing an updateditto, xattr, codesign, open (admin only if the app folder is not writable)
Custom commandsWhatever you wrote in them, with /bin/sh, osascript or your terminal

Admin commands run through sudo with Touch ID when you enabled Touch ID for sudo, otherwise through the macOS administrator password dialog. Lightspot never stores your password.

Permissions macOS may ask for

  • Automation: to control Finder (Terminal in Finder Folder, Empty Trash, New Finder Window, Show Desktop), System Events (Lock Screen, Restart, Shut Down, Toggle Dark Mode, Force Quit), your browser (reading open tabs) and Terminal or iTerm2 (running commands). macOS asks once per app; you can change the answer in System Settings → Privacy & Security → Automation.
  • Administrator: for switching Spotlight indexing, Flush DNS Cache, Purge Inactive Memory, Toggle Touch ID for Sudo, killing processes of other users, and installing an update into a folder your account cannot write to.

The global shortcut does not need Accessibility permission. The source code is on GitHub if you want to check any of this yourself.