Skip to content

owgit/memento-native

Repository files navigation

Memento Native

Your Mac's photographic memory for local-first timeline memory, OCR search, and semantic search.

Memento Native continuously captures your screen on macOS, extracts text with OCR, and lets you search by keyword or meaning. Data stays on your machine.

Privacy-first by design: local storage, no cloud dependency, and user-controlled pause behavior.

Swift macOS License Releases

Native Swift rewrite of apirrone/Memento.

Quick links: FAQSettings GuideTroubleshootingSecurityContributingReleases

Table of Contents

What Is Memento Native? / Vad Är Memento Native?

EN: Memento Native is a macOS screen memory tool built with Swift, ScreenCaptureKit, Vision OCR, SQLite FTS5, and on-device semantic embeddings. You can jump back in time and find what you saw.

SV: Memento Native är ett macOS-verktyg för skärmminne byggt i Swift. Du kan gå tillbaka i tiden och hitta det du sett via OCR- och semantisk sökning.

Who It's For / För Vem?

  • Developers who need searchable visual history during debugging
  • Founders and operators who jump between browser tabs, docs, and chats
  • Researchers and students who need recall without cloud sync
  • Privacy-focused users who want local-only timeline memory

Visual Overview

Memento capture overview: local macOS OCR and timeline memory

Action Hub search experience with keyword and semantic modes

In-app update flow: check, install, and relaunch

Latest (v2.0.4)

  • Swift 6 migration and concurrency hardening across Capture and Timeline
  • Safer capture scheduling (no overlapping frame jobs)
  • Better permission repair lifecycle in Setup Hub
  • Dead code cleanup and clearer runtime logging

Release references:

Install

Option 1: DMG (recommended)

  1. Download latest DMG from Releases.
  2. Move both apps to /Applications:
    • Memento Capture.app
    • Memento Timeline.app
  3. Start Memento Capture first.

Option 2: Build from source

git clone https://github.com/owgit/memento-native.git
cd memento-native
./build-dmg.sh 2.0.4

Permissions and Why This Is Needed / Behörigheter och Varför

Screen Recording is required to capture on-screen content.

Automation (Apple Events) is required for browser URL/title indexing (Safari/Chrome/Arc/Edge/Brave/Firefox), so search results can include context.

EN: Without these permissions, capture/search quality degrades.

SV: Utan dessa behörigheter blir inspelning/sökning begränsad.

Details and rationale: docs/FAQ.md

Settings and Tradeoffs / Inställningar och Kompromisser

Configuration reference: docs/SETTINGS.md

Highlights:

  • Capture interval is configurable (1s, 2s, 3s, 5s, 10s) with clear quality/performance tradeoffs.
  • Auto-pause includes idle, video/streaming, and private/incognito detection.
  • You can manually toggle recording mode (Recording / Paused) in the menu bar Control Center.

Trust and Privacy by Design / Tillit och Integritet i Designen

EN: Memento is built to make behavior predictable and user-controlled:

  • Data stays local on your Mac by default (~/.cache/memento)
  • No cloud backend is required for capture/search
  • Private/incognito windows trigger automatic pause (best-effort detection)
  • You can pause/resume instantly from the menu bar
  • Capture interval and retention are configurable so you control detail vs resource usage

SV: Memento är byggd för förutsägbart beteende och användarkontroll:

  • Data stannar lokalt på din Mac som standard (~/.cache/memento)
  • Ingen molntjänst krävs för inspelning/sökning
  • Privata/inkognito-fönster triggar automatisk paus (best-effort-detektering)
  • Du kan pausa/återuppta direkt från menyraden
  • Capture-intervall och retention kan justeras så du styr detaljgrad vs resursanvändning

EN trust signals:

  • Permission requests are explained in plain language (what/why/impact)
  • Privacy-safe defaults are enabled (for example, private/incognito auto-pause)
  • User control is immediate (manual pause/resume + retention controls)
  • Release quality is transparent (public changelog + reproducible release assets)

SV tillitssignaler:

  • Behörighetsförfrågningar förklaras enkelt (vad/varför/påverkan)
  • Integritetssäkra standardval är påslagna (t.ex. privat/inkognito auto-paus)
  • Användarkontroll är direkt (manuell paus/återuppta + retention-kontroll)
  • Releasekvalitet är transparent (publik changelog + reproducerbara release-assets)

Read more:

FAQ

Short answers (full version in docs/FAQ.md):

  • Why does Memento need Screen Recording?
  • Why does browser access need Automation permission?
  • Why does capture pause sometimes?
  • Can I pause/resume manually, and does incognito trigger pause?
  • Why can auto-update ask for admin password?
  • Where is data stored and how do I delete it?
  • Why did I only see "Open release page" instead of "Install now"?

Contributing and Support

Routing policy:

Recommended Discussions categories:

  • Q&A
  • Ideas
  • Troubleshooting
  • Announcements

Release Quality and Update Reliability

Release process and policy:

A release must include a DMG asset named:

Memento-Native-<version>.dmg

If the DMG asset is missing, in-app updater falls back to Open release page.

Architecture Snapshot

MementoCapture (menu bar app)
  -> ScreenCaptureKit + Vision OCR + embeddings
  -> SQLite (FTS + metadata)
  -> H.264 video segments

MementoTimeline (viewer)
  -> timeline browsing + semantic/text search
  -> command palette / action hub

Privacy and Security

  • 100% local storage, no cloud requirement
  • No telemetry pipeline
  • Clipboard capture is optional
  • Data location defaults to ~/.cache/memento

More: SECURITY.md

License

PolyForm Noncommercial 1.0.0


Keywords: macOS OCR search, semantic search, timeline memory, screen recorder, local-first privacy, ScreenCaptureKit, Swift.

About

Local-first macOS timeline memory with OCR and semantic search (Swift + ScreenCaptureKit).

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors