
Logseq
Privacy-first outliner with bi-directional linksOpen source
About Logseq
Logseq, an open-source outliner and knowledge base, records notes as blocks linked by backlinks and a daily journal, for desktop, web and mobile. In 2026 it split: the Markdown-file app became Logseq OG (security/Electron fixes only); the main line is the local-DB version (2.0.2 beta, 2026-10-07). AGPL-3.0 since 2020-10-12. Free to people and companies using local data and no official server; since 2026-07-13 sync beta is open to monthly Open Collective Backers ($5+) and Sponsors. CERT Polska's 4 desktop flaws (2026-06-09) reach 0.10.15; command-joining code remained on master on 2026-10-25.

What it is
Logseq is open-source note-taking and knowledge-base software. Its basic unit is the block: every line is a block that can be folded, referenced or embedded elsewhere. Pages link both ways, and the app opens on today's journal page. The logseq/logseq repository calls it "a privacy-first, open-source platform for knowledge management and collaboration." Most of it is ClojureScript on top of Datascript, packaged with Electron for desktop; a new command-line tool added in 2026 is written in OCaml.
Tienson Qin made the first commit, 0f07cec, titled simply "init", at 2019-12-11 08:35 (UTC+8); the GitHub repo was created at 2020-05-23 08:06 (UTC+8). A company blog post on 2022-05-05 announcing funding describes Logseq as Qin's open-source side project for managing their own work, and as something their children could pick up easily; co-founders Zhiyuan Chen, Huang Peng and An Vu came in through the open-source community. The same post announced a $4.1M seed round led by Patrick Collison, Nat Friedman, Tobias Lütke and others. The privacy policy (last updated 2023-07-28) names the operator as Logseq, Inc.
In 2026 the product split into two lines. The official post "Big update: Logseq is splitting into two versions" (signed by Kerim, danzu and tienson, dated 2026-04-24) says the Markdown-file app was renamed Logseq OG and moved to the logseq/og repo, where it gets only security fixes and Electron upgrades and no new features; the database ("DB") version has become the main line. The logseq/og repo was created on 2025-12-25, shipped OG 1.0.0 on 2026-04-16, and was last pushed on 2026-05-28.
As of 2026-10-25 the main repo had 45,366 stars, 2,846 forks and 25,931 commits on master. About 338 contributors with GitHub accounts appear (2026-10-25); the top two by commit count are tiensonqin (11,918) and logseq-cldwalker (2,927). There were 813 open issues and 185 open PRs.
Both the desktop and web app don't and will not require a commercial license for both personal usage and company usage, as long as if the data are stored locally and doesn't use our server.
Core capabilities
Blocks and backlinks. Any block can be referenced or embedded elsewhere, and a referenced page lists all its backlinks at the bottom; the relationships between pages can be drawn as a graph. Journal pages are created automatically by date, so notes can be jotted down first and organised later through links.
The DB version's data model. The DB version stores the whole graph in a local SQLite database instead of a pile of Markdown files. The split post lists recent work: an MCP server for desktop and CLI, a self-hostable sync service, and support for large graphs of 50,000 pages. The 2.0.1 release notes (2026-07-13) are headed "Logseq 2.0 Beta (DB version) is here!" and ask users to back up first; 2.0.2 (2026-10-07) fixed an NSIS installer crash on Windows 11 24H2, file-to-DB import fidelity, and several Android issues. On Markdown support for DB graphs, the April split post called it "the plan", still under research. Since then the repo's design record ADR 0016, "Electron Markdown Mirror" (2026-05-05, status Accepted), has settled on a limited approach: a desktop setting that exports pages and journals one way as Markdown mirror files for outside tools, backup and search. The database remains the source of record, and mirror files are never read back. The implementing commit 06dbef8 (2026-05-06) is in 2.0.1's history.
Sync and encryption. Per the split post, DB sync is end-to-end encrypted with a password the user sets. A design record in the repo, ADR 0003 (2026-02-11, status Proposed), suggests making encryption optional: it would stay on by default, and with it off, data would travel as plaintext over TLS.
Local API and automation. Since 2022-12-29 (commit 51aaa02, "Feat: APIs http server") the desktop app has shipped an HTTP API server, on 127.0.0.1:12315 by default, which has to be switched on manually in settings; the MCP server is controlled by a separate :server/mcp-enabled? option. In 2026 the repo also gained a new command-line tool and skill files written for AI coding assistants.
Plugins and themes. Plugins run in iframes but can call APIs provided by the host.
How it compares
Versus Obsidian. Both keep notes locally and both have plugin ecosystems. Obsidian's pricing page (2026-10-25) lists: the app itself free; Sync at $4 per user per month billed yearly or $5 monthly; Publish at $8 per site per month billed yearly or $10 monthly; plus a one-time $25 Catalyst and a $50-per-user-per-year Commercial licence, both described on the page as voluntary support. Logseq differs in that its code is open source under AGPL-3.0 and it is organised around blocks and outlines; since the DB version switched to database storage, "notes are just Markdown files in a folder" applies only to Logseq OG. Official sync isn't sold on its own yet; per the Open Collective update of 2026-07-13, the sync beta is open to monthly paying Backers ($5 and up) and Sponsors.
Versus Roam Research. Logseq's outliner, block references and daily journal work much like Roam's, and the 2022 funding post says outright that users were arriving from Roam, Obsidian, Notion and other tools. Logseq keeps data on the user's machine by default, and its code is public under AGPL-3.0.
Versus OG itself. Users with an existing Markdown graph face two products. OG keeps the data format unchanged, so files can still be managed with Git or any sync folder, but the team promises maintenance only and no new features; the DB version has the new sync, MCP and large-graph support, but it is still beta and notes are no longer directly editable Markdown files.
Who it's for / Not for
Good fit:
- People who think in outlines and want block-level references, for reading notes, research logs or work journals.
- Anyone who wants their data on their own devices and will handle their own backups.
- Developers who want scripts or AI assistants to read and write notes through MCP or the local HTTP API.
- People who want to take part in an open-source project, or organisations that need source code they can audit and build themselves.
Poor fit:
- Teams that need a stable release. As of 2026-10-25, every tagged release on GitHub still says "Beta Testing", and the 2.0.1 notes ask users to back up first.
- Workflows built on "notes are plain Markdown files" whose owners don't want to sit on a maintenance-only OG build.
- Teams that need mature real-time collaboration or enterprise permissions. Sync is still in beta and limited to paying monthly Open Collective supporters, and self-hosted sync only landed in the repo in 2026.
- Users who install plugins from unknown authors and can't review them. Plugins get broad access.
Getting started
The desktop app is downloaded from GitHub Releases. 2.0.2 (2026-10-07) ships packages for macOS (x64 and arm64), Windows (x64 and arm64, installer and zip), Linux (x86_64 and arm64, AppImage and zip) and Android; desktop packages are about 147 to 196 MB and the Android apk about 44.2 MB. Per the 2.0.2 release notes, iOS is in TestFlight testing and App Store review is still under way. An Open Collective update on 2026-10-20, "Logseq Native iOS App Is Ready for Testing!", began inviting supporters and community members to try the native iOS app through a sign-up form, and says the community will soon be invited to test a native Android app. The Releases page also has a daily-built nightly tag.
System requirements, for the current release: 2.0.1 and 2.0.2 are built on Electron 42.3.0, which per Electron's compatibility notes needs at least macOS 12 and Windows 10. That floor has risen step by step: 0.10.9 used Electron 27.1.3, with a minimum of macOS 10.15; 0.10.13 moved to Electron 34.5.6, raising the minimum to macOS 11 (from Electron 33); 0.10.15 (2025-12-01) moved to Electron 38.4.0, raising it to macOS 12 (from Electron 38). The Windows 10 minimum has applied since Electron 23. Master already uses Electron 42.11.16; Electron 44 will require macOS 13 and drop 32-bit Windows and Linux armv7l, and as of 2026-10-25 Logseq had not moved to 44.
Moving from the old version: the DB version can import a file graph, and 2.0.2 specifically fixed import fidelity. The OG version, which keeps using a file graph, is downloaded from the logseq/og repo.
The web app can be run yourself with Docker: the example command in the official docs maps the container port to 127.0.0.1:3001, so it is reachable only from the same machine.
Pricing & license
The software itself is free. Logseq's Open Collective page says the desktop and web apps "don't and will not require a commercial license for both personal usage and company usage, as long as if the data are stored locally and doesn't use our server."
Payment only comes in through Open Collective sponsorship tiers (2026-10-25): Backers at $5 a month, Sponsors at $15 a month, plus Bronze, Silver and Gold tiers at $100, $250 and $500 a month, which buy logo placement. Sync beta access is set by the Open Collective update of 2026-07-13, "Logseq DB beta and RTC sync are ready for all active monthly backers": the DB beta and real-time sync are open to all monthly paying Sponsors and Backers. The Backers tier blurb still says sync is coming "soon" and is being tested only with $15-a-month Sponsors; that text predates the update.
The collective was created on 2020-09-22. As of 2026-10-25 it showed $958,502.57 in total inflows, a gross figure before platform and payment fees; the "Total raised" figure on the page, after fees, is $762,204; there were 12,205 contributor accounts.
The licence needs its full history. The first licence file was added at backend/LICENSE by commit ee10679 ("Add backend") on 2020-02-20, an EPL-2.0 text; commit b0c0b6a on 2020-04-09 moved it unchanged to the repo root; commit 09e70cd on 2020-10-12 added an AGPL-3.0 LICENSE.md, and 25526c5 deleted the EPL file 5 minutes later; commit a72ca41 on 2020-11-03 appended an additional permission under GPL section 7 at the end of LICENSE.md, allowing combination with EPL-licensed Clojure libraries. The file had not changed again as of 2026-10-25. The GitHub API detects the repo licence as AGPL-3.0, and the OG repo is AGPL-3.0 too.
Other parts of the repo don't all carry the same licence: libs/cljs-sdk has its own MIT licence (added 2025-10-21); the npm command-line package @logseq/cli is marked MIT, while the old CLI code behind it was deleted from the main repo on 2026-05-28. Vendored third-party code includes Mozilla's PDF.js viewer (Apache-2.0), DOMPurify (dual Apache-2.0 and MPL-2.0), the spa-github-pages redirect script (MIT), and the Facebook MIT file header kept in .prettierrc.js.
Risks & limits
Desktop vulnerabilities. CERT Polska published 4 flaws on 2026-06-09, reported by Bartłomiej Dmitruk of striga.ai, with affected versions given as "All through 0.10.15"; the page says only 0.10.15 was tested and other versions' status is unknown because the vendor didn't address the issues. They are: CVE-2026-9279, where an IPC handler joins arguments and the command name into one string and passes it to child_process.spawn with shell: true while the allowlist checks only the command name, score 8.7; CVE-2026-47899, where a preload API doesn't validate paths, allowing arbitrary file reads, writes and deletes, 8.7; CVE-2026-47900, where a plugin's package.json name field is rendered through innerHTML, 4.6; and CVE-2026-47901, where a plugin can inject attributes from its sandboxed iframe onto host elements and, with CSP disabled, run script in the host, 4.6. The CERT page itself lists no scores; these come from the CVE records, scored by CERT-PL under CVSS 4.0, with the records published at 2026-06-09 21:23 (UTC+8).
The preconditions fall into two groups. The first two need an attacker who can already run JavaScript in the renderer, for example through XSS or a malicious plugin; the last two need only a malicious plugin on the user's machine to let its code run in the host, which is exactly the first two's precondition, so the flaws can be chained from a plugin install to running system commands and reading or writing files. On master f8fb34b on 2026-10-25, shell.cljs still runs the joined command with shell: true, with an allowlist of git, pandoc, ag, grep and alda plus user-configured entries, and utils.js still strips Content-Security-Policy and X-Frame-Options from response headers. OG 1.0.0 (2026-04-16) has the same code as 0.10.15: shell.cljs runs the joined command with shell: true, utils.js strips CSP, and Electron is 38.4.0 as well.
Two earlier issues. GitHub security advisory GHSA-92h5-2358-7xjv (2025-08-18, critical, CVSS 4.0 score 9.3) is titled "Remote Code Execution in Logseq Desktop <= 0.10.13"; an outdated pdfjs-dist (CVE-2024-4367) combined with the git exec interface meant that opening a malicious PDF was enough. The advisory's patched-version field is empty, and the 0.10.14 release notes say pdf.js was bumped to 4.2.67. CVE-2025-56683 is an XSS in 0.10.9's plugin marketplace page, triggered through a malicious README; the CVSS 3.1 score of 9.6 listed on NVD comes from CISA-ADP, NVD has not scored it, and the record's status is Deferred; the master fix, commit 4cdf49a (2025-04-25), isn't in the 0.10.15 tag's history, and 2.0.1 includes it.
Bind addresses. The desktop HTTP API server binds 127.0.0.1:12315 by default and doesn't start automatically; if :server/tokens has never been set, the server doesn't check tokens and any local process can call it, and once tokens are set a missing or wrong token gets a 401. Host and port are both configurable. The self-hosted sync service's Node adapter (added 2026-01-30) calls listen with a port and no host, so Node listens on every interface; the default port is 8080 in code, while the README example and start script use 8787; auth relies on Cognito JWTs, and the admin token DB_SYNC_ADMIN_TOKEN is optional.
What the code shows. There is no licence-key or activation check. Non-dev builds initialise PostHog usage analytics and Sentry error reporting by default; the PostHog config turns off autocapture and session recording and masks page text. The "Send usage data and diagnostics to Logseq" setting can switch this off, with the description "Logseq will never collect your local graph database or sell your data." Once it is off, PostHog stops reporting immediately, while Sentry stops initialising only from the next app launch.
What the privacy policy and licence say. The privacy policy lists the technical data the app collects automatically as device information, operating system, platform and release version, with processors including AWS, Sentry and PostHog; New York law applies; the policy says personal information isn't sold. On the licence side, AGPL-3.0 requires publishing the source when a modified version is offered to users over a network, whether or not it is charged for.
Stability. Every tagged release is still marked beta. OG is promised maintenance, but its repo was last pushed on 2026-05-28, before CERT's disclosure date, with no commits addressing those flaws since. The README still says Android is "coming soon", although Releases already ship an Android apk.
Our verdict
Logseq's defining traits are the AGPL-3.0 licence, block-based outlines, local storage by default, and an open local API and MCP interface; people and companies pay nothing to use it locally. From 2020 to date its Open Collective has taken in about $959k gross (about $762k after fees) from 12,205 contributor accounts (2026-10-25), and the company raised a $4.1M seed round in 2022.
The transition period looks like this: the main line has moved from Markdown files to a local database and the old OG version is maintenance-only; the new 2.0.x is still beta, and sync is still in testing, open only to monthly paying Open Collective supporters. On security, for the 4 desktop flaws disclosed on 2026-06-09, CERT says they were "not addressed by the vendor", and the command-joining and CSP-disabling code was still on master on 2026-10-25.
Why it stands out
Logseq is an outliner with bidirectional links, daily journals, and a graph view, built mostly in ClojureScript on top of Datascript, with your data kept locally. It now comes in two lines: Logseq OG stores each page as a plain Markdown file, while the new database version keeps the whole graph in a single SQLite file (db.sqlite).
Tienson Qin made the first commit in December 2019, started it as a personal tool and open sourced it early; Logseq, Inc. now maintains it. The database version is a ground-up rewrite, and the Clojure heritage is visible in how the data model is treated as the product. Since 2026 the repository also includes a command-line tool written in OCaml.
It is open source and keeps data local: Markdown files in Logseq OG, a single SQLite file in the database version.
Sources
Official
- GitHub - logseq/logseq: A privacy-first, open-source platform for knowledge management and collaboration. · Accessed Oct 25, 2026
- LICENSE.md at f8fb34b - logseq/logseq · Accessed Oct 25, 2026
- History for LICENSE.md - logseq/logseq · Accessed Oct 25, 2026
- Add backend · Accessed Oct 25, 2026
- History for LICENSE (commits b0c0b6a, 25526c5) - logseq/logseq · Accessed Oct 25, 2026
- init (commit 0f07cec) · Accessed Oct 25, 2026
- Releases - logseq/logseq · Accessed Oct 25, 2026
- Big update: Logseq is splitting into two versions · Accessed Oct 25, 2026
- GitHub - logseq/og: Logseq og (file version) · Accessed Oct 25, 2026
- Privacy Policy - Logseq: A privacy-first, open-source knowledge base · Accessed Oct 25, 2026
- Logseq raises $4.1M to Accelerate Growth of the New World Knowledge Graph · Accessed Oct 25, 2026
- src/electron/electron at f8fb34b (shell.cljs, utils.js, server.cljs) · Accessed Oct 25, 2026
- deps/db-sync at f8fb34b (README.md, node adapter) · Accessed Oct 25, 2026
- src/main/frontend/modules/instrumentation at f8fb34b (core.cljs, posthog.cljs) · Accessed Oct 25, 2026
- docs/adr at f8fb34b (ADR 0003, ADR 0016: Electron Markdown Mirror) · Accessed Oct 25, 2026
- libs/cljs-sdk/LICENSE at f8fb34b · Accessed Oct 25, 2026
- resources/js/pdf_viewer3.mjs at f8fb34b · Accessed Oct 25, 2026
Security advisories
- Remote Code Execution in Logseq Desktop <= 0.10.13 · Accessed Oct 25, 2026
- NVD - CVE-2025-56683 · Accessed Oct 25, 2026
- CVE-2026-9279: Shell command injection in Logseq · Accessed Oct 25, 2026
- CVE-2026-47899: Arbitrary File Read, Write, Rename, and Delete in Logseq · Accessed Oct 25, 2026
- CVE-2026-47900: Stored XSS via Unsanitized Plugin Metadata in Logseq · Accessed Oct 25, 2026
- CVE-2026-47901: Iframe escape by plugins in Logseq · Accessed Oct 25, 2026
Media & third party
- Logseq - Open Collective · Accessed Oct 25, 2026
- Logseq DB beta and RTC sync are ready for all active monthly backers · Accessed Oct 25, 2026
- Logseq Native iOS App Is Ready for Testing! 🚀 · Accessed Oct 25, 2026
- Vulnerabilities in Logseq software | CERT Polska · Accessed Oct 25, 2026
Related products
- Breaking Changes | Electron · Accessed Oct 25, 2026
- Pricing - Obsidian · Accessed Oct 25, 2026
Data
- @logseq/cli - npm · Accessed Oct 25, 2026