Cortex OS for MacJoin the waitlist

Your Mac,
with a memory.

Cortex quietly remembers everything you do on your Mac, so you can pick up where you left off, find anything in seconds, keep every promise and hand off the busywork.

Join the Mac waitlist

This page has a memory too. Click in the menu bar to see what it noticed about your visit.

Cortex OSFileEditViewWindowHelp Tue 27 Oct 7:42 PM

Now

ObservingVault synced · 2m
TodayWeekMonthYear
A
Tuesday, 27 October · 7:42 PM
Good evening, Alex.

You have been in deep flow for 47 minutes. Here is everything Cortex is holding for you.

Ask CortexResume where I left off
Mind state
Deep Flow
47 minXcode · Terminal

Long, steady typing in Xcode and almost no app switching. You're in it — I'm holding notifications until you surface.

Focus86Top 10% of your week
LoadLight32% · room to think
EnergyFresh2h 05m since break
Switches4/hr↓ 71% vs. morning
Today's mindFlow · Focus · Meeting · Friction · Overload
9 AM11 AM1 PM3 PM5 PM7 PM9 PM
Where you left offPaused 18m ago

You were wiring FTS5 search into Total Recall. The last test failed on an empty query — the guard in executeSearch() returns before clearing results.

Focus

Total Recall search · DataQueryAPI.swift

Status

1 failing test: testEmptyQueryClears

Next step

Clear searchResults before the early return

Resume workspace Open DataQueryAPI.swiftRestores 6 tabs, 2 windows, 1 terminal
Cortex noticedRepeated 14×
You've moved invoice rows from Sheets into Xero 14 times today.

I can fill the remaining 12 rows the same way. Nothing is saved until you review it.

Google SheetsCopy rowXero
Auto-fill 12 rowsNot nowSaves ~38 min
Commitments3 open

Send the revised pitch deck to Priya

Design review · due Thu Urgent

Share WhisperKit benchmarks with Marco

Standup · due Fri

Book a follow-up with Acme procurement

Sales call · next week
Saved this month
$1,240
19.1 h back · 6 agents running

Recall

1,284 moments indexed todayVault synced · 2m
TodayThis weekAll time
A
All 42Screen 18Speech 9Clipboard 6Downloads 3Typed 6Today · 2 PM – 5 PM
Answerfrom 3 moments · 0.04 s

The UPS tracking link was copied from Gmail and pasted into Slack #ops at 3:14 PM — while you were on the design review with Priya.

ups.com/track?tracknum=1Z999AA10123456784Copy linkOpen Clipboard · 3:14 PMSpeech · 3:12 PMScreen · Slack
ups.com/track?tracknum=1Z999AA10123456784Copied in Gmail → pasted in Slack #ops
3:14
"…I'll drop the tracking link in Slack right after this."Zoom · Design review · you speaking
3:12
Priya: got it — tracking link received, thanks!Slack · #ops · on-screen text
3:15
Order #4471 has shipped · Track your packageGmail · Shipping confirmation
2:58
invoice_4471.pdfSafari → Downloads · 212 KB
3:02
Time machine2 PM – 5 PM5 matches
2:002:303:003:304:004:305:00

Timeline

6 episodes · 7h 12m
TodayYesterdayWeek
A
Time machineDrag anywhere on the day to scrubScrubber
At 3:14 PMSlack · #ops

You pasted the UPS tracking link into #ops while Priya was talking through the onboarding flow on Zoom.

Episodes today
09:12–10:40
Total Recall searchXcode · deep work
Flow
14:20–14:38
WhisperKit 48 kHz crashXcode · Stack Overflow · fixed
Debug
15:00–15:41
Design review — onboardingZoom · 3 commitments
Meeting

Agents

Valued at $65/hr
CandidatesShadowLive
New agent
A
82READY
Automation readiness

Six workflows repeat often enough, with steady enough steps, to hand over. Start with invoices — it pays back fastest.

Time back19.1 hper month
Value$1,240per month
Candidates62 in shadow
Observed9 days1,912 runs
Invoice rows
Shadow 41/50
SheetsXero$412/mo
94
Weekly KPI deck
Supervised
MixpanelSlides$286/mo
88
Lead enrichment
Candidate
LinkedInHubSpot$198/mo
76
PR review checklist
Candidate
GitHubLinear$122/mo
64

Meetings

Recording · 23:41Transcribed on-device · WhisperKit
Pause capture
A
Live · Zoom
Design review — Cortex onboarding
PMAPriya, Marco and you
Speaking balanceCollaborative
You 38%Others 62%
Live transcriptAuto-scroll
P
Priya 23:02

The permission gate is the moment people bail. Can we show what Cortex will never record before we ask for Accessibility?

Y
You 23:18

Yes — I'll send the revised onboarding deck with the privacy-first step by Thursday.

Commitment detected · You · due Thu
M
Marco 23:31

I can pull the WhisperKit benchmarks so we can say "transcribed on your Mac" with numbers. I'll share them Friday.

Commitment detected · Marco · due Fri
Y
You 23:40

Perfect. Let's also test the menu bar pulse with five people before we ship.

Decisions so far

· Privacy promise comes before the permission request

· Ship the menu bar pulse only after a 5-person test

Topics
OnboardingPermissionsWhisperKitMenu barTrust
Action items3 detected

Send revised onboarding deck with the privacy-first step

You · Thu

Share WhisperKit on-device benchmarks

Marco · Fri

Test the menu bar pulse with 5 people

You · next week
Copy as action itemsSend to Linear
Recent sessions
StandupToday 09:00 · 15 min · 2 commitments
Acme procurement callMon · 42 min · 4 commitments
1:1 with PriyaFri · 30 min · 1 commitment

Journal

Problem → research → fix, reconstructed for you
AllDebug & fixExplorationConversation
A
Chains this week7
+2 vs last week
Median time to fix22 min
↓ 31%
Most researchedWhisperKit
23 lookups
Debug & fix · Today 14:20
WhisperKit crashed on 48 kHz audio — fixed
Resolved in 18 min
Trigger 14:20
Xcode

EXC_BAD_ACCESS in AudioResampler

AudioResampler.swift:88
Research 14:22 – 14:31
Stack Overflow

AVAudioConverter sample-rate mismatch

Apple Developer

AVAudioConverter · inputFormat

Docs search

Resample 48k → 16k in Swift

Fix 14:33
Xcode

Rebuilt the converter with the real input format

+14 −6 · AudioResampler.swift
Outcome 14:38
Terminal

swift test — 19 of 19 passed

build 2.3 s

The crash came from feeding 48 kHz buffers into a converter built for 16 kHz. Two docs lookups later you created the converter from the buffer's real format — the same fix will apply to the system-audio path.

Git push rejected → rebased
Resolved
Yesterday 17:05 · Terminal, GitHub · 9 min
RejectedRead docsRebasedPushed
SQLite WAL lock during backfill
Open
Today 12:40 · Xcode, SQLite docs · 2 lookups so far
database is lockedWAL mode docs…
Pick up where you stopped

Insights

Week of 20 – 26 Oct
WeekMonthQuarter
A
Cognitive rhythmPeak · Tue–Thu, 9–11 AM
Scattered Deep flow
Where your week went
35.4 h
Deep work18.4 h 52%
Communication11.0 h 31%
Friction6.0 h 17%

Your deep work happens before lunch. Meetings after 2 PM cost you about 40 minutes of ramp-up each.

Topic confidence
SwiftUI4 lookups
Swift concurrency7 lookups
SQLite FTS511 lookups
AVFoundation9 lookups
WhisperKit23 lookups
Energy2 late nights
Mostly fresh
MonTueWedThuFriSatSun
Shipped this weekauto-extracted
Total Recall full-text searchXcode · 6 sessions
High
WhisperKit 48 kHz crash fixXcode · 18 min
High
Reviewed 6 pull requestsGitHub · 2.1 h
Medium
Onboarding spec v2Notion · 1.4 h
Medium

Calendar

Todos, meetings and events with proactive reminders
DayWeekMonth
Add
A
Tuesday 27 October
7 items · 2 meetings
All items (7)
09:00 – 09:15
StandupZoom · 2 commitments captured
Meeting
10:00 – 11:30
Ship FTS5 search for Total RecallTodo · from Journal
High
13:00 – 13:30
Review Acme procurement notesTodo · 10m reminder
Medium
15:00 – 15:45
Design review — Cortex onboardingZoom · Priya, Marco
Meeting
NOW
19:30 – 20:00
Send revised onboarding deck to PriyaFrom the design review · due Thu
Urgent
20:30 – 21:00
Reply to Marco about benchmarksTodo · 5m reminder
Low
October 2026‹ ›
⏰ Upcoming meeting
1:1 with PriyaDue 8:00 AM tomorrow · 15m reminder
Snooze 5mDone

Privacy

Everything is filtered on this Mac before it is written
Pause observing
A
Zero-knowledge shield · Today
1,284 moments captured. 0 secrets ever touched disk.
GDPR · SOC 2 ready
Raw eventclick · key · screen · voice
1 · Secure fields
842 keysPassword and secure inputs are never logged
2 · Blocked apps & sites
3 pausesObserver paused 3 times today
1PasswordChaseSignal
3 · PII scrubber
37 maskedMasked before anything is written
21 API keys9 tokens7 cards
Clean memoryto your private vault
Never observeAdd app or site
1PasswordApp · passwords
SignalApp · personal messages
*.chase.comSite · banking
Health appApp · medical
Personal GmailSite · personal email
Recent redactions
19:12Terminalexport OPENAI_API_KEY=[REDACTED_API_KEY]
17:48Chrome · StripeCard ending 4242 → [REDACTED_CREDIT_CARD]
15:03Slackghp_•••• token → [REDACTED_API_KEY]
cortex-memory-vault
Private GitHub repo · main · Markdown
Synced 2m ago
episodes/2026-10-27/ · 12 files
playbooks/finance/invoice_rows.md
daily_digests/2026-10-27.md
analytics/2026-10-27_metrics.json
Sync nowOpen in Finder Append-only
ObserverRunning · 6d 4hCPU 0.4% · 84 MB
Accessibility Input monitoring Screen recording Microphone

Vault

cortex-memory-vault · mainSynced 2m ago · append-only
Open in FinderSync now
A
cortex-memory-vault/
episodes/
2026-10-27/
ep_macbook01_14-20-03.md
ep_macbook01_15-00-41.md
ep_macbook01_09-12-07.md
playbooks/finance/
invoice_rows.md
daily_digests/
2026-10-27.md
analytics/
2026-10-27_metrics.json
Recent commits
a3f9c1eepisode 15:00 design review2m
7d21b08episode 14:20 debug chain41m
e0c44a2playbook invoice_rows v32h
episodes/2026-10-27/ep_macbook01_14-20-03.mdObsidian-ready
# Debug & fix · WhisperKit 48 kHz crash device: macbook01 started: 14:20:03 duration: 18m apps: [[Xcode]] [[Stack Overflow]] [[Terminal]] ## Trigger - 14:20:03 **Crash** EXC_BAD_ACCESS in AudioResampler.swift:88 ## Research - 14:22:40 Read "AVAudioConverter sample-rate mismatch" - 14:27:12 Read AVAudioConverter · inputFormat (Apple Developer) - 14:29:55 Typed in Terminal: export OPENAI_API_KEY=[REDACTED_API_KEY] ## Fix - 14:33:18 Edited AudioResampler.swift (+14 −6) - 14:38:02 swift test — 19 of 19 passed ## Links [[WhisperKit]] · [[Total Recall]] · [[2026-10-27]]

Settings

Changes save automatically
A
What Cortex observes
Clicks, typing and scrollingCoalesced after 1.2 s idle, secure fields skipped
On-screen textAccessibility first, Vision OCR as a fallback
ClipboardCopies and pastes between apps
DownloadsFile name, source and size
Meeting audioTranscribed on-device with WhisperKit
Vault sync
RepositoryPrivate · created automatically if missing
alex/cortex-memory-vault
Sync everyOffline changes wait and push together
5 min
Local vaultPlain Markdown
~/Documents/CortexVault
Agents & shortcuts
Your hourly valueUsed to price time saved
$65 / hr
Ask CortexInside the app
⌘ K
Summon from anywhereFloating Command HUD
⌘ Shift Space

Now

Your mind state, what you were doing before the interruption, and the one thing Cortex can take off your plate.

1 / 11

Ask your Mac anything you've seen.

Press ⌘⇧Space anywhere and ask the way you'd ask a colleague. Cortex answers from your own day, with the moments it came from. Try it here. It knows Alex's demo day, the docs, and your visit to this page.

Try asking
Searching on this device only ↑↓ navigate return open
Summon from anywhere ⌘ Shift Space

Set up once. Then just work.

There's nothing new to learn and no notes to take. Cortex sits in your menu bar and builds your memory as you go.

AccessibilityGranted
Input MonitoringGranted
Screen RecordingGranted

Install and allow three permissions

Each one has a single job, and you choose the apps and sites Cortex never sees.

Deep Flow47 min · Xcode · notifications held
Focus86%
Saved19.1 h
Redacted37

Work the way you already do

Cortex observes quietly from the menu bar. Passwords, keys and blocked apps are filtered on your Mac.

where was I?
Answer · 0.04 s · on-device

You were wiring FTS5 search into Total Recall. One test fails on an empty query.

Summon from anywhere ⌘ Shift Space

Ask, resume or hand it off

Get answers, your resume point, or an agent for the loop you keep repeating.

Try to leak a secret.

Paste a fake API key, card number or token. On your Mac, Cortex runs these checks before anything is written to disk. This box runs the very same patterns, right here in your browser.

You're typing in

Fill in a fake:

What Cortex writes to your vault

episodes/2026-10-28/ep_terminal.md
Start typing. Anything sensitive is masked before it lands here.
Nothing written yet.

Every moment takes the same route

Including the ones from your visit. Scroll, click or type and watch it go through.

Raw event

A click, keystroke, scroll, copy, screen text or voice.

Waiting for you

1. Secure fields

Password and secure inputs are dropped. Keys are never logged.

—

2. Blocked apps

1Password, Bitwarden, Keychain and your own list pause the observer.

—

3. PII scrubber

Card numbers, SSNs, API keys and bearer tokens are masked.

—

Clean memory

Written as Markdown to a private vault you own.

—
Processed on your Mac

Capture, filtering, transcription and search all run locally. Nothing raw leaves your Mac.

Markdown you own

Your memory syncs only to a private GitHub repository you control, append-only.

Pause any time

One click in the menu bar stops observing. Blocked apps are never recorded at all.

A day with a memory.

The same Mac and the same apps, with nothing lost between them. Pick the kind of work that sounds like yours.

Cortex OS 1.0
Cortex OS
Applications
Drag Cortex into Applications

Get Cortex for your Mac.

The Mac build isn't public yet. Leave your email and we'll send you the .dmg as soon as it's ready.

We'll only use it to send you the download.

macOS 14 Sonoma or later GitHub account to sync your vault (optional) Works offline

Questions, answered.

Can't see yours? Ask Cortex the way you'd ask a person.

Is this page really keeping notes on me?

Yes, and only in this browser. It notes which parts you read, what you clicked and what you asked, the way Cortex notes your day. A short summary is kept in your browser's local storage so it can welcome you back. It never stores what you type or your email. Nothing it notes is sent anywhere: no analytics, no cookies, no third-party requests. The only thing this page ever sends is your email, and only if you join the waitlist.

What does Cortex record on my Mac?

Clicks, typing and scrolling. The app and window in focus. On-screen text it can read through Accessibility. Clipboard copies, downloads, and meeting audio while you're on a call. Everything passes through the privacy filter before it's written.

Typing is grouped into phrases once you pause for about a second, and scrolling is grouped into half-second windows, so your memory reads like a log of what you did, not a keystroke dump.

Does anything leave my Mac?

Capture, filtering, transcription, indexing and search all run on your Mac. The only thing that syncs is your cleaned memory, written as Markdown, to a private GitHub repository that you own and control. If you're offline, changes wait locally and push together when you reconnect.

How does it handle passwords and secrets?

Three checks run in order, before anything touches disk:

  • Secure fields. When you're typing into a password or secure field, keys are dropped and the moment is logged as [Secure Input Focused].
  • Blocked apps and sites. 1Password, Bitwarden, KeePassXC, Keychain Access, Dashlane and NordPass pause the observer, along with any apps or sites you add.
  • PII scrubber. Card numbers, SSNs, OpenAI, GitHub, AWS and Slack keys, and bearer tokens are replaced with tags like [REDACTED_API_KEY].
Why does it need Accessibility, Input Monitoring and Screen Recording?

Each one has a single job. Accessibility reads button labels and on-screen text, so each memory knows what you actually did. Input Monitoring notices clicks, typing rhythm and scrolling, never what you type into password or secure fields. Screen Recording captures small crops only when an app can't be read any other way. Microphone is used for meeting transcription.

Where is my memory stored, and can I read it?

In plain Markdown files you can open in any editor, with Obsidian-style links between them. Your vault has four folders: episodes/ for what happened, playbooks/ for workflows Cortex extracted, daily_digests/ for readable day summaries and analytics/ for metrics. Files are append-only and named by device and time, so several Macs can share one vault without merge conflicts.

Will it slow my Mac down?

It's built to stay out of the way. Cortex reads the accessibility tree first, which takes under 0.2 ms per element. It only captures a screen crop when an app can't be read that way, and it writes events in batches every 250 ms. Recent moments are searched from memory and older ones from a local SQLite full-text index.

What happens when I close the window?

The observer keeps running quietly in the menu bar, so your memory doesn't have gaps. You can pause it from the menu bar for an hour or for as long as you like, and blocked apps are never recorded at all.

Can Cortex do things for me?

When you repeat a workflow, Cortex can turn it into an agent, but it has to earn that. A new agent starts in shadow mode, predicting each step without acting. Once it matches you on 98% of 50 real runs, it moves to supervised, where it drafts and you approve with one click. Only then can you make it autonomous, and it still alerts you on exceptions.

Which languages can it transcribe?

Meetings are transcribed on your Mac with WhisperKit, which supports more than 99 languages and detects the language automatically.

What do I need to run it?

A Mac running macOS 14 Sonoma or later, plus a GitHub account if you want your vault synced. Without one, your memory stays in a local folder.

When can I download it?

The Mac build isn't public yet. Join the waitlist and we'll email you the .dmg as soon as it's ready.

Here's where you left off.

This is Cortex's answer to "where was I?", built from your visit. On your Mac, it's built from your whole day.

Where you left off0 moments

You just got here. Look around, and I'll write you a summary.

Focus

—

Status

—

Next step

—

Join the waitlist
episodes/2026-10-28/ep_browser.md