⚡ NanoRecall: 100% Private Desktop Memory & Screen Search
A high-performance, open-source, 100% private alternative to Microsoft Windows Recall.
Engineered with pure C99/SIMD, native Win32 capture, and zero cloud telemetry. Search anything you saw on your screen by natural language in milliseconds.
🧩 Universal Compatibility Matrix
| Runtime / Implementation | Supported Versions | Execution Mode | Status |
|---|---|---|---|
| CPython (Standard) | 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15 | Standard bytecode + GIL | ✅ Fully Supported |
| CPython (Free-Threaded) | 3.13t, 3.14t, 3.15t | Multi-core No-GIL (PEP 703) | ✅ Fully Supported |
| PyPy (JIT Accelerated) | 3.8, 3.9, 3.10, 3.11 | High-speed JIT tracing | ✅ Fully Supported |
| Operating Systems | Windows (7, 8, 10, 11), Linux, macOS (Intel & Apple Silicon) | x86_64, ARM64 | ✅ Fully Supported |
⚡ The Problem with Microsoft Recall
| Feature | Microsoft Windows Recall | NanoRecall (This Project) |
|---|---|---|
| Privacy & Cloud | Unencrypted storage, telemetry risks | 100% Local & Encrypted (Zero bytes leave your PC) |
| Hardware Lock-in | Requires expensive Copilot+ PC ($1500+) with 40+ TOPS NPU | Runs on any standard Intel / AMD / ARM CPU |
| Vector Engine | Heavy proprietary runtime | NanoVector (Pure C99 + AVX2, <120KB footprint) |
| Search Latency | Variable (Cloud / NPU overhead) | 0.28 ms (Sub-millisecond exact semantic search) |
| Password Protection | Records sensitive credentials and cards | Privacy Shield: Auto-ignores 1Password, Bitwarden, KeePass, Incognito |
| Storage Footprint | Tens of gigabytes of raw frames | Smart Frame Differencing: Suppresses static frames (30–60 KB/frame) |
| Code Footprint | Gigabytes of OS bloatware | <200 KB pure codebase, <25MB RAM idle, 0.1% CPU |
🌟 Key Highlights
- 100% Private & Offline: All frame embeddings and OCR snippets are stored in a single, local
.nvecbinary file. No accounts, no API keys, no internet required. - Powered by NanoVector: Directly uses NanoVector's C99 AVX2/NEON vector search engine for instant 90-microsecond semantic retrieval.
- Intelligent Perceptual Frame Differencing: Continuously monitors your display; if the screen hasn't changed by >1.5% (reading, idle, away from desk), capture is skipped to conserve disk space and battery.
- Built-in Privacy Shield: Automatically detects active foreground windows and terminates recording whenever password managers (
1Password,Bitwarden,KeePass), private browsing windows (Incognito,InPrivate), or crypto wallets are active. - Dual Interface: Instant lightning-fast terminal CLI (
nanorecall search ...) and a sleek dark-mode local web dashboard (nanorecall ui).
🏛️ Architecture
┌────────────────────────────────┐
│ Windows Desktop Display │
└───────────────┬────────────────┘
│
(Perceptual Diffing / 0.1% CPU)
│
┌───────────────▼────────────────┐
│ Native Win32 Screen Capture │
│ (GDI / BitBlt / DirectMemory) │
└───────────────┬────────────────┘
│
┌───────────────▼────────────────┐
│ Offline Text Extraction │
│ (Windows.Media.Ocr / Local) │
└───────────────┬────────────────┘
│
├───────────────────────────────┐
│ Text + Embeddings │ Compressed Frame
▼ ▼
┌────────────────────────────────┐ ┌───────────────────────┐
│ NanoVector Core │ │ Local Image Store │
│ (C99 AVX2 + .nvec persistence)│ │ (WebP / 30-60 KB) │
└───────────────┬────────────────┘ └───────────┬───────────┘
│ │
└───────────────┬───────────────┘
▼
┌────────────────────────────────┐
│ Search & Recall Engine │
│ (CLI + Dark-Mode Dashboard) │
└────────────────────────────────┘
🚀 Interactive Google Colab Demo
Test NanoRecall interactively in your browser with zero local installation:
The Interactive Colab Notebook demonstrates:
- Backend & SIMD Detection: Verifying NanoRecall and NanoVector AVX2/NEON.
- Privacy Shield: Live simulation blocking 1Password/Incognito windows and redacting API keys.
- Desktop Memory & Search: Ingesting sample desktop screens and querying via natural language in <0.3 ms.
- Single-File
.nvecPersistence: Saving and restoring the entire screen memory index. - Colab CPU Benchmark: Benchmarking search latency (15–300 µs) and QPS over 10,000 frames.
🚀 Quickstart
1. Installation
pip install nanorecall
(Requires Python 3.9+ on Windows, Linux, or macOS)
2. Capture Your Screen
Capture and index your current desktop state:
nanorecall capture
Output:
📸 Capturing desktop screen...
🔍 Extracting offline OCR text...
🧠 Indexing into NanoVector (Window: Active Window)...
✅ Indexed frame 2026-09-11_142315 (342 words, 98.4% change)
3. Natural Language Search (CLI)
Search for anything you saw hours, days, or weeks ago:
nanorecall search "github pull request sqlfluff"
Output:
🔍 Search Query: 'github pull request sqlfluff' (1 results found in 0.28 ms)
#1 [98% Match] Google Chrome — sqlfluff pull request 8449 github
🕒 Captured: 2026-09-11_142315
📝 Text: merged upstream/main to pull in CI fix and added StarRocks test cases...
🖼️ File: C:\Users\M_N_N\.nanorecall\frames\2026-09-11_142315.webp
4. Interactive Web Dashboard
Launch the local dark-mode dashboard with visual timeline scrubber:
nanorecall ui
Then open http://127.0.0.1:8765 in your browser.
- Interactive daily timeline scrubber (scrub your day hour-by-hour).
- Instant search bar with live autocomplete and semantic similarity badges.
- Click any memory card to inspect the full-resolution screenshot with OCR highlights.
5. Background Daemon
Run NanoRecall silently in the background:
nanorecall daemon --interval 3.0
🛡️ Privacy Shield Rules
NanoRecall includes out-of-the-box protection rules. The following windows and sensitive tokens are automatically shielded from being recorded:
- Password Managers: 1Password, Bitwarden, KeePass, KeePassXC, LastPass, Dashlane, NordPass, Enpass.
- Private Browsing: Chrome Incognito, Edge InPrivate, Firefox Private Browsing, Tor Browser.
- Crypto Wallets: MetaMask, Phantom, Ledger Live, Trezor Suite, Exodus, Rabby.
- Credentials & Tokens: Credit card numbers, OpenAI API keys (
sk-...), GitHub personal access tokens (ghp_...), and SSH/RSA private keys are automatically redacted.
📊 Telemetry & Benchmark
nanorecall stats
⚡ NanoRecall Engine Telemetry:
----------------------------------------
Total Indexed Frames: 1,420
Vector Dimension: 128D
Active Backend: NanoVector (AVX2)
Local Database Size: 1.24 MB
Search Latency: 0.28 ms
Idle CPU Usage: < 0.1%
🤝 Contributing
Contributions are warmly welcomed! Please submit issues or pull requests to improve OCR backends, UI features, or compression optimizations.
📜 License
Distributed under the MIT License. Created by eminsk.
Metadata
Release files for nanorecall 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nanorecall-0.1.1.tar.gz | 30.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nanorecall-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 57.4 kB
Release files / nanorecall-0.1.1.tar.gz
| Download URL | nanorecall-0.1.1.tar.gz |
|---|---|
| Size | 30.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c61768dcd7ede533220c8ff7578c25eacc0f0a96af292e4d8e27c92df5169a99
|
|
BLAKE2b-256 checksum How to use checksums |
71ea21204662508cd8097b056be8ffa065f9d00072ed27bfabdaa27581b97e11
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / nanorecall-0.1.1-py3-none-any.whl
| Download URL | nanorecall-0.1.1-py3-none-any.whl |
|---|---|
| Size | 26.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba34b4c2a3ca00abe220c187a945c2ae88090009bd343de31e9df8f366ee5a53
|
|
BLAKE2b-256 checksum How to use checksums |
ae23fb88b171f7198fb5d1db3eb7e88f02497fdb150b3b18258c18474d262262
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|