Privacy Policy

Effective date: October 2, 2026

SearchLink is a macOS System Service and command line tool written and maintained by me, Brett Terpstra. This policy explains what SearchLink does with your data, based on what its source code actually does.

The short version

What stays on your Mac

SearchLink stores the following locally. None of it is sent to me.

Configuration
Settings are stored in ~/.config/searchlink/config.yaml (or ~/.searchlink on older installs). Any API keys or tokens you add (Google, Kagi, GitHub, Pinboard, Linkding, Bitly, TinyURL) are stored in this file in plain text. Treat it like a password file.
Caches
~/.config/searchlink/cache/ holds the date of the last update check and, if you use Pinboard or Linkding search, a local copy of your entire bookmark collection from that service, so searches are fast.
Browser history and bookmarks
The history and bookmark searches (!h and related) read your browser data from Safari, Chrome, Arc, Brave, Edge, and Firefox. SearchLink queries the browser’s database for your search terms, sometimes through a temporary copy that it deletes afterward. This data is only read on your Mac and is never transmitted anywhere.
Other local features
Spotlight search (mdfind), spell checking (aspell), the Hook integration, clipboard output, and Notification Center alerts all run locally.
Your documents
When SearchLink processes a whole file, it saves a .bak backup of the original next to it by default (the backup setting). With the debug and report settings on, SearchLink inserts HTML comments listing errors and results into your text. Remove them before publishing if you don’t want them in your output.
Help file
Showing the search help writes ~/.searchlink_searches.html.

To remove all of SearchLink’s stored data, delete ~/.config/searchlink/, ~/.searchlink, and ~/.searchlink_searches.html.

What is sent over the network

Update checks

Each time SearchLink runs, it asks the GitHub API (api.github.com) for the latest release number. The request doesn’t include any identifier, so GitHub sees your IP address and nothing else. If you’ve added a github_token to your configuration, that token is sent with the request and GitHub can associate it with your GitHub account. Running the update command downloads the latest release from GitHub.

Searches

When you run a search, your search terms are sent to the service that handles that search type. Each service receives your search terms and your IP address, and handles them under its own privacy policy.

Search Service contacted
Web search (default), site searches, software, Amazon, Stack Overflow DuckDuckGo
Google search, when you’ve configured an API key Google Custom Search API
Kagi search and FastGPT Kagi
App Store, iTunes, Apple Music Apple (iTunes Search API)
Wikipedia Wikipedia
Definitions Wordnik
Movies and TV The Movie Database (TMDB)
Last.fm Last.fm
GitHub repos, users, and gists GitHub API
Pinboard Pinboard (downloads your bookmarks with your token)
Linkding Your own Linkding server
Lyrics Genius
Tweets and YouTube embeds Twitter/X and YouTube
Setapp Setapp
URL shortening is.gd, TinyURL, or Bitly (the URL being shortened)
Popup search Google, Bing, Amazon, Wikipedia, or DuckDuckGo, in a browser view

A few of these deserve more detail:

Visiting result pages

Some settings make SearchLink load the pages it links to: include_titles, validate_links, empty_uses_page_title, and accepted-answer lookups for Stack Overflow. When that happens, the destination website receives a normal web request from your IP address, just as if you’d opened the page. These requests use the default curl user agent, or a generic browser user agent if a site rejects that. They don’t include cookies or any identifier.

Out of the box, SearchLink adds affiliate codes to some links:

If someone clicks one of these links and buys something, I may earn a small commission. SearchLink doesn’t send me any information about you or your readers. However, Apple and Amazon may set cookies on the browsers of people who click the links, under their own policies. If you publish links generated by SearchLink, those links carry the affiliate codes unless you change these settings.

To remove the codes, or use your own, edit your configuration:

itunes_affiliate: ""
amazon_partner: ""
      

The Setapp search adds an affiliate string only if you configure setapp_affiliate_string yourself. That string is yours, not mine.

What I don’t do

This website

srchl.ink is a static website. It doesn’t use cookies, analytics, or tracking scripts. Like any web host, the hosting provider keeps standard server logs (IP address, requested page, browser user agent, and time of request) for security and operations. Links to GitHub and other sites are covered by those sites’ policies.

Changes to this policy

If SearchLink’s data handling changes, I’ll update this page and its effective date. The source code is public, so you can always check what SearchLink does for yourself.

Contact

If you have questions about this policy, please open an issue on GitHub or contact me through brettterpstra.com.