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
- SearchLink runs entirely on your Mac. I don’t operate any server for it, and there are no accounts.
- SearchLink has no analytics, telemetry, tracking, or crash reporting. I never receive your documents, your search terms, your browsing history, or your API keys.
- To find links, SearchLink has to send your search terms to third-party services like DuckDuckGo, Apple, Wikipedia, and others. Those services see your search terms and your IP address, and their own privacy policies apply.
- By default, SearchLink adds my affiliate codes to Apple and Amazon links it generates. You can remove them or replace them with your own (details below).
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~/.searchlinkon 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 (
!hand 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
.bakbackup of the original next to it by default (thebackupsetting). With thedebugandreportsettings 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:
- Google search sends queries with your own API key, but through a search engine configuration I created. Google may show me aggregate usage statistics for that configuration. I can’t connect them to you, and I don’t try to.
- TMDB and Last.fm searches use API keys that belong to me. Those services can count requests made with my keys, but they don’t give me your search terms or identify you.
- Kagi FastGPT sends your query to Kagi’s AI answer service and returns a generated answer.
-
If you install third-party plugins in
~/.config/searchlink/plugins, they can contact any service and handle data however their authors choose. This policy only covers code that ships with SearchLink.
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.
Affiliate links
Out of the box, SearchLink adds affiliate codes to some links:
-
Apple (App Store, iTunes, Apple Music):
&at=10l4tL&ct=searchlinkis appended to links, via theitunes_affiliatesetting. -
Amazon: new configuration files set
amazon_partnerto my Amazon Associates tag,bretttercom-20.
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
- I don’t collect, store, or sell personal information.
- I don’t use analytics, advertising identifiers, or tracking of any kind in SearchLink.
- I don’t receive copies of your searches, documents, history, bookmarks, or credentials.
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.