Lucas Piera13k downloadsAnki-like native system in obsidian. Review flashcards with FSRS spaced repetition.
The next-gen spaced repetition system for Obsidian.
Create flashcards inside your notes, review them with FSRS v6 scheduling, and track progress with comprehensive analytics, all without leaving Obsidian. Works on desktop and mobile.
Free for personal and other noncommercial use. Source-available under the PolyForm Strict License 1.0.0, not open source: see License.
Documentation · Pricing · Sponsor on GitHub

.true-recall/). Your data stays with you..apkg decks and export to Anki or CSV/TSV.pieralukasz/true-recallmain.js, styles.css, and manifest.json into <your-vault>/.obsidian/plugins/true-recall/git clone https://github.com/pieralukasz/true-recall.git
cd true-recall
bun install
bun run build
cp main.js styles.css manifest.json <your-vault>/.obsidian/plugins/true-recall/
For a complete walkthrough, see the documentation.
True Recall is local-first. It does not send telemetry or analytics. Network access is limited to the explicit feature paths below.
Periodic timers (setInterval), all local, no network:
Network requests, only on explicit user action or one-time per release:
Update check: when the plugin version differs from the last seen version, a single requestUrl call is made to the GitHub Releases API to fetch release notes. Runs once per version, not on a timer.
AI features (opt-in): flashcard generation, semantic grading, and image-occlusion detection require a configured AI provider. Depending on settings, requests can go to OpenRouter, ai.truerecall.app for True Recall Pro, a local LM Studio/Ollama endpoint, or a custom OpenAI-compatible endpoint you enter.
Local API server (desktop, opt-in): binds to 127.0.0.1 only and requires the per-install bearer token shown in Settings → Integrations. Set it as TRUE_RECALL_TOKEN for the companion CLI/MCP server. Browser clients must also be listed explicitly under allowed origins. Arbitrary SQL is separately disabled by default.
External links: documentation, pricing, sponsorship, Discord, and Anki shared-deck links are opened only when you click UI links.
Cloud Sync (opt-in): when you sign in with a True Recall account and enable Cloud Sync, notes, note types, cards and review logs are exchanged incrementally with the True Recall sync service. The device session is stored in Obsidian SecretStorage and can be revoked from Settings.
Storage: All flashcards and review data live in a SQLite database inside your vault. In Shared Vault mode it is .true-recall/true-recall.db; in Cloud Sync and single-device modes the per-device database lives in .true-recall/local.nosync/, which iCloud does not sync. Backups live in .true-recall/backups.nosync/. Device identity uses Obsidian's per-vault local data so multiple synced devices can avoid database conflicts.
Vault and clipboard access:
Bundled runtime components:
@sqlite.org/sqlite-wasm so SQLite works locally in Obsidian. This is the expected .wasm module in the bundle.Source-available under the PolyForm Strict License 1.0.0
(SPDX: PolyForm-Strict-1.0.0).
Permitted: noncommercial use, including personal study, research, hobby projects, and use by charitable / educational / public-research / government organizations. Fair-use rights are preserved.
Not permitted under this license: redistribution, modification and derivative works, commercial use, hosting as a service, or building a competing product.
Commercial licensing. A separate commercial license is required for any
use beyond what PolyForm Strict allows, including production deployments
inside a business, paid services built on True Recall, or distributing
derivative works. Contact [email protected] to discuss terms.