LumenDocumentation
Website
Browse documentation

Privacy and permissions

Understand the local app boundary, folder and audio grants, storage, and explicit sharing.

On this page

Lumen processes the documents and recordings you choose on your Mac. This page explains what Lumen can access, what it saves, and what leaves your device.

What leaves your Mac#

Lumen doesn't send your files, recordings, transcripts, or notes anywhere. Content leaves Lumen only when you take one of these actions:

  • Export notes. When you choose Save Markdown, Lumen writes the file to the destination you pick and sends no message. Uploading or sending that file is a separate action you take. An export saved to a synced folder follows that folder's sync policy.
  • Open an original file. When you choose Open file, macOS hands the file to its default application, which has its own behavior and permissions.

Lumen has no account, telemetry, or remote completion service, and it downloads models only when you start setup. When a local tool is missing, the feature that needs it is unavailable; Lumen doesn't fall back to an online service.

Memory is off until you turn on a source. Each source (Calendar, Meetings, Chosen folders, App activity, Clipboard) has its own switch, retention, and delete, and stays on this Mac. App activity counts only active time and keeps hourly time per app (no titles) for Today until you delete it. Adding an exclusion offers to delete what was already saved from it, including totals, clipboard items, digests, and memories that came only from it. Screen content and browser history aren't captured. See Memory and Ask Lumen.

Note: Lumen downloads its models once, from Hugging Face, when you choose Get started (or Download in Settings). A separate download helper is the only part of Lumen that can reach the network; it fetches only those files, sends no identifiers, and checks each file against a pinned checksum. The app and its AI processes have no network access.

What Lumen can access#

At the end of setup, and any time in Settings → Permissions, Lumen lists every macOS permission it can use, with one sentence on why and its live status. Each has its own Allow button, because macOS shows one prompt at a time, and each can be skipped. A refused permission links to its Privacy & Security pane. Allowing a permission doesn't turn on memory, start a recording, or start any capture; memory sources keep their own switches, off by default. Otherwise Lumen asks when you start the action that needs it.

Lumen doesn't use macOS notifications, so it never asks for that permission. Call nudges appear in the menu bar.

Source or actionWhen access happensWhat Lumen does with it
Chosen foldersYou select a folder in the macOS folder pickerReads supported local files and saves extracted passages in the local index
MicrophoneYou choose Allow in Permissions, or start a meeting with Microphone selectedRecords your voice into local audio chunks during meetings you start
Screen & System Audio Recording (call audio)You choose Allow in Permissions or Allow meeting audio in the new-meeting sheet; macOS may ask you to reopen LumenRecords the other people on calls during meetings you start. Meeting audio is then selected by default. No screen images are saved.
Imported recordingYou choose Meetings → + → Import recording… and select a fileReads the file and saves local audio chunks. The original isn't changed, and no microphone or screen-recording permission is requested.
PDF passwordYou enter it in Files → ⋯ → Password-protected files…Unlocks that PDF for one local indexing request. See Password-protected PDFs.
Local tool packageYou choose its folder in SettingsReads a manifest, executable, and model artifacts, verifies their hashes, and runs a bounded local request
Markdown export destinationYou choose Save Markdown and a destinationWrites the reviewed export to that location
CalendarYou choose Allow in Permissions, or turn on Settings → Memory → CalendarReads event titles, times, and attendee names only while the Calendar source is on. Never changes your calendar.
Accessibility (window titles)You turn on App activity, then choose Allow in Permissions or Allow window titles…, and allow Lumen in System SettingsReads the front window's title and document location when it changes. Lumen doesn't control other apps or read window contents.
RemindersYou choose Allow in Permissions, or Add in Add to Reminders… after a meetingAdds only the items you approved to your default list. Never edits or deletes reminders.
Routine folders and CSVYou choose them in Settings → RoutinesReads new files in the inbox, proposes moves in Downloads, and writes only after Apply changes. Removals go to the Trash; changes can be undone.
Mail compose windowYou choose Open in Mail on a follow-up draftOpens a draft in your mail app. Sending is your action.

Allowing microphone or call-audio access doesn't start a recording or turn on memory. Lumen offers Accessibility access only once the activity timeline is on, never for search or meetings.

What stays on your Mac#

Lumen saves the following data in its local application folder. For exact locations, see Settings and storage.

DataContents
PreferencesSetup state, appearance, audio retention preference, and folder and tool access
Search indexExtracted file text, search metadata, and optional vectors
MeetingsMeeting metadata, rough notes, action items, speaker labels, confirmed names, and transcripts and notes when prepared
AudioCaptured audio chunks, kept according to how long meeting audio is kept
MemoryAccepted memories and suggestions, projects, calendar links, and their search index, when you turn on a memory source

Lumen stores this data as JSON, SQLite, and CAF audio. Lumen has no app-specific encryption layer. How well these files are protected depends on your Mac's security settings, the other software you run, and your backup and sync choices.

Important: The search index contains copies of text extracted from your documents. Treat backups of Lumen's data folder as you would the original documents.

How long meeting audio is kept#

Keep original audio is off by default for new meetings. When it's off, Lumen removes a meeting's original audio only after all required processing and durable saves succeed.

Lumen keeps the audio for retry when processing fails, is interrupted or cancelled, or can't run because local tools aren't prepared. The setting applies to new meetings. Turning it off doesn't delete existing audio.

Meeting detection and automatic recording#

Meeting detection in Settings is off by default. It has two separate modes:

  • Suggest recording reads the microphone activity of supported apps through Core Audio and shows a suggestion. It doesn't collect audio or read browser content. A suggestion never starts a recording.
  • Record automatically is its own opt-in. It starts recording only when microphone and screen/audio access already exist. Automatic recording in browsers needs a separate opt-in.

Detection is a heuristic based on microphone activity. It doesn't confirm that a particular meeting is running.

Speaker labels#

With the local AI bundle, Lumen analyzes voices on your Mac after recording stops. Segmentation and voice embeddings run on the CPU in a helper process that inherits the app's sandbox and has no network entitlement.

  • Voice vectors and matching centroids exist only during processing. Lumen doesn't create a cross-meeting voiceprint database.
  • The saved meeting includes speaker labels, word timestamps, overlap markers, and any names you confirm.
  • Confirmed names appear in local meeting search and in reviewed Markdown exports.
  • When someone introduces themselves, Lumen can suggest their name. It never accepts a suggestion automatically.

Speaker labels are estimates and don't verify anyone's identity. Original audio follows the retention rules.

Password-protected PDFs#

With the search package, you can unlock a PDF so Lumen can search it.

  • You enter the password in a secure field. Lumen sends it only to the local worker over stdin. Passwords aren't written to preferences, the index, logs, or command-line arguments.
  • The original PDF stays encrypted and unchanged. Lumen doesn't save a decrypted copy. Temporary rendered pages are cleaned up along with the helper's other temporary files.
  • Unlocking adds that file's extracted text, OCR text, and vectors to the ordinary local index described in What stays on your Mac. The unlock dialog explains this before indexing starts.
  • When you preview the original, Lumen asks for the password again.

To remove a file's derived content, choose Remove indexed content in the password-protected files list.

Note: Removing content from SQLite takes it out of active search. It isn't a forensic erase of database pages, WAL history, or backups.

Remove access or saved data#

To stop searching a folder, choose Remove next to it in Settings → Search. Lumen clears that folder's derived search entries and leaves the original files in place.

Lumen has no control that deletes a single meeting or all app data. To remove local app data manually, follow Settings and storage.

The signed app boundary#

Use the app bundle built by scripts/build-app.sh. The app and its helper run in the macOS App Sandbox with no network client or server entitlements.

  • The helper uses the folder access that the app currently holds. The app restores its own saved folder access (app-scoped bookmarks).
  • The app declares user-selected read/write file access so native file panels and exports work. Search reads your source documents without changing them. That's how Lumen behaves; the entitlement itself isn't read-only.
  • Running swift run Lumen doesn't give you the signed bundle's sandbox boundary and uses a different storage location. A source build also uses your installed toolchain and macOS.

Automated checks run retrieval in a sandbox that denies network access. Bundled-model speech, summary, file, and image inference also passed a synthetic test with networking denied by macOS. For the separate signed-app and live-hardware checks, see Validation.

Local tools and trust#

A tool package must declare a pinned identity, revision, provenance, licenses, and SHA-256 checksums. Hash verification detects changed artifacts. It doesn't establish that an executable is trustworthy, accurate, or free of bugs, so import only tools whose origin and behavior you can review.

  • Imported processes inherit the sandbox and must fail if they need undeclared file access or networking.
  • Lumen treats text from your documents as untrusted quoted data. Instructions inside a document can't authorize new actions.
  • The full build includes revision-pinned local models and a standalone runtime.

Before you develop or evaluate a package, read the adapter contract.

Review and share results#

Source-linked notes help you check the evidence behind a summary. A valid source link doesn't prove that a generated claim is correct, so review outputs before you rely on them or share them.

For public bug reports, use synthetic fixtures and remove private passages, paths, audio, and credentials. For sensitive reports and the current limits of the reporting channel, see SECURITY.md.

Limitations#

  • Lumen hasn't had an independent security audit.
  • Evaluations are small and synthetic. Language coverage, speaker diarization, and broad hardware performance are still being evaluated.
  • Real microphone and call-audio capture still needs permission and hardware validation. See remaining validation.
  • Some Lumen design prototypes show proposed workflows that this release doesn't include.

What's next#

By · Documentation updated

Found a problem? Start with troubleshooting.

Search documentation

Start typing to find a guide.

Documentation search runs in your browser. Queries are not sent to a search service.