Stalkrr
macOS · local-first · source-available

The only stalker
you can audit.

Stalkrr lives in your menu bar, records every call — WhatsApp, Zoom, FaceTime, Meet, anything using your mic — transcribes it on your Mac, and turns it into memory your AI agent can query.

Nothing you capture leaves the machine unless you explicitly choose otherwise. You don't have to believe that: the source is public and PRIVACY.md maps every network connection in the code.

Download for macOS Read the source

macOS 15+ · self-updating · local processing free forever

menu bar
Recording · 12:04
YOU
THEM
11:41 You: I'll send the revised scope by Thursday.
11:47 Dana: And we hold the launch until legal signs off.
Extracted · local model
Send revised scope — due Thursday
Launch blocked on legal sign-off decision
0 bytes out · everything above ran on-device
The problem

Every meeting produces promises nobody wrote down.

Meeting recorders exist — as cloud bots that join your call, sit in the participant list, upload the conversation to someone else's servers, and quietly turn your private discussions into a SaaS company's asset. So you either lose your meetings, or you surrender them.

The answer

Your meetings become your agent's memory, on your machine.

No bot joins. No account. No upload. Capture, transcription, extraction, and the archive all run on your Mac — and the agent you already use reads that memory through a local pipe.

How it works
01

It hears the call start

Known call apps record instantly. Any other app that opens the mic is captured from second zero and asked about once — Always, Just this once, or Never.

02

Your Mac does the thinking

Whisper on Metal and the Neural Engine transcribes with speaker split; a local model pulls out the tasks, decisions, and insights — after the call, so your GPU stays free during it.

03

Your agent remembers

A twelve-tool MCP server hands that memory to Claude Code, Claude Desktop, or Cursor. "What did I promise yesterday?" becomes a question with an answer.

The app

One window. Everything you said, kept.

A searchable archive of recordings, transcripts, screen frames, and key moments — with erase on every row.

recording
Recordings
Search… ⌘K
Recording 148 · Zoom auto
…so we hold the launch until legal signs off, and I'll send the revised scope Thursday.
2 tasks 41:06
Recording 147 · WhatsApp auto
…the supplier wants a deposit before the second batch ships.
3 tasks 12:48
Recording 146 · FaceTime auto
…let's move standup to 09:30 permanently, nobody makes the 09:00.
1 task 07:22
Recording 145 · Unknown app auto
Asked once: keep recording this app? → Always
4 tasks 58:31
What it actually does
01

Records what matters, automatically

Known call apps start instantly; unknown ones are captured from second zero and asked about once. Smart enough to know a voice note isn't a call. Watchdogs catch silent mics, dead devices, and Bluetooth quirks — and the app resurrects itself if it ever crashes.

02

Understands your language, on-device

Whisper on Metal and the Neural Engine, with automatic language detection per recording and dedicated fine-tuned models where the general one falls short. Speaker-split, echo-deduped, timestamped, hallucination-filtered.

03

Turns talk into memory

A local model — installed and managed for you, free forever — pulls every task, decision, and insight into a full-text-searchable archive of recordings, transcripts, screen video, and key moments. Erase anything, anytime.

04

Feeds your AI agent

Twelve MCP tools expose memory, archive, and erase to Claude Code, Claude Desktop, and Cursor. Stdio only — a local pipe, no ports, no cloud, and the whole tool group can be switched off.

05

Private by architecture

Default posture: zero captured data leaves the Mac. No telemetry, no analytics, no crash reporting — nothing to opt out of. License activation is offline. Every window is a webview that cannot reach the network.

06

Respectful of the machine

Local AI runs under a strict memory budget and unloads the moment processing ends. Heavy work is deferred until after the call. Your Mac never freezes because your notes are thinking.

Stalkrr vs. cloud meeting bots

Same job. Opposite architecture.

Cloud bot
Stalkrr
Where your audio goes
Uploaded to their servers, retained under their policy
Stays in ~/.stalkrr on your Mac
Who's in the call
A bot in the participant list, visible to everyone
Nobody. It's your microphone
Which apps it covers
The meeting platforms they integrated
Any app that opens the mic
Language handling
One hosted engine, take it or leave it
Detected per recording, routed to the model that's actually good at it
Your agent
Their web app, their search box
12 MCP tools in the agent you already use
Deletion
A support ticket and a promise
One transaction, secure-delete, verified — or the app tells you it failed
How you verify it
You read a policy page
You read the code, and watch the socket
Transcription

The cloud is not better at your language.

Language is detected per recording. Where the general model is weak, Stalkrr routes to a dedicated fine-tuned one instead of shipping your audio to a service that guesses.

On our benchmark calls the on-device path didn't just match the cloud engines — it beat them, most visibly on invented lines: a hosted engine hallucinated thirteen sentences that were never spoken on a real call. The local route produced zero.

Hosted cloud engine 13
hallucinated lines · one real call
Stalkrr, on-device 0
same call · same audio · nothing uploaded
MCP server

Twelve tools. One local pipe.

Point your agent at the binary and your meetings become part of its working memory. Stdio only — no port is opened, nothing is served.

Memory what was said, what you owe
search_memory list_tasks update_task append_task append_insight
Archive the recordings themselves
list_meetings get_meeting get_transcript search_timeline
Erase logged, scoped, switchable off
delete_meeting delete_task delete_insight
install
claude mcp add stalkrr-memory \
  -- /Applications/Stalkrr.app/Contents/MacOS/stalkrr-mcp
Then just ask
"What did I promise Dana yesterday?"
"Every open task from calls this week."
"Find where we decided to delay the launch."
The data boundary

Don't trust us. Check.

The only honest privacy policy for software that listens to you is one you can verify against the code. PRIVACY.md lists every network connection the app can make, what crosses it, what turns it on, and the file it lives in.

If a byte leaves your machine that the document doesn't account for, that's a security bug — not a footnote in a terms page.

Read PRIVACY.md →
01
Enumerate every URL in the source
One grep over the Swift. URLSession is the only HTTP client and there are no third-party networking dependencies to hide in — one vendored library, whisper.cpp.
02
Build the app yourself
swift build, then run your own bundle. The binary you audited is the binary you run.
03
Watch it live
Little Snitch or LuLu. Compare what you see against the table in PRIVACY.md, line for line.
Default settings, Little Snitch open:
only an update check and one-time model downloads.
Pricing

Local is free. Forever.

Local
Free
No account. No network. Forever.
Automatic call recording, every app
On-device transcription, any language
Local task and insight extraction
Full-text searchable archive
The 12-tool MCP server
No account, no telemetry, no network
Download
Most people
Premium
$129 once
Pay once. Every Premium feature, all of it local.
Everything in Local
Bring your own provider keys, stored in the Keychain
Screen capture, frames and key moments
Retention rules and bulk export
Priority models and advanced routing
Offline license activation — no server call
Get Premium
Cloud · subscription
$19 / month
De-identified managed processing, for when local isn't enough.
Managed processing — no keys to juggle
Personal identifiers stripped before anything is sent
Nothing tied back to you or your account
Off by default; always explicitly labelled
Cancel and fall back to local, instantly
See what's stripped

Cloud processing is never on by default and never silent: it's an explicit choice, clearly labelled everywhere audio or text would leave the Mac.

Questions people actually ask
Does a bot join my meeting?
No. Stalkrr records your Mac's own audio. Nothing appears in the participant list, and there's nothing for the other side to accept.
Is it really recording everything?
Every call, yes — that's the point. Known call apps start instantly; anything else that opens the mic is captured from second zero and asked about once, so you never lose the first two minutes to a permission dialog.
What if I don't want a particular app recorded?
Answer Never once and it's never recorded again. Any single recording can be deleted, and Erase all wipes the database and the media in one transaction.
Do I need an internet connection?
Only to download the app and, once, the models. After that, local processing works entirely offline.
Which agents can read the memory?
Anything that speaks MCP over stdio — Claude Code, Claude Desktop, Cursor. Setup is one command.
Is this legal where I live?
Recording other people is regulated, and in many places requires their consent. Stalkrr's model is that by accepting the Terms you confirm you have the right to record the people and screens you capture. That responsibility is yours.

Something is always listening. Make it yours.

Free for local processing. macOS 15+. Self-updating, and readable line by line.

Download for macOS Read the source