Logseq

logseq.com
Logseq

Privacy-first, open-source knowledge base that works on top of local plain-text Markdown and Org-mode files. Supports lots of different note modes, including task management, PDF annotation, flashcards, whiteboards strong markdown support and more. Includes themes and extensions, backed by a strong community

No Security Audit Open Source

Logseq Source Code

Author

logseq

Description

A privacy-first, open-source platform for knowledge management and collaboration. Download link: http://github.com/logseq/logseq/releases. roadmap: https://logseq.io/p/NX4mc_ggEV

#clojure#clojurescript#git#graph#knowledge-base#knowledge-graph#local-first#markdown#note-taking#org-mode#pkm

Homepage

https://logseq.com

Repository

  • LicenseAGPL-3.0
  • Created23 May 20
  • Primary languageClojure
  • Size465,277 KB
  • Stars45,367
  • Forks2,846
  • Watchers45,367

Language Usage

Language Usage

Project Health

  • Last commit5 days ago
  • Open issues998
  • Latest releasev0.0.1

Recent Commits

  • Tienson Qin(25 Oct 26)

    fix: sync Electron lockfile with package manifest Update the desktop lockfile to Electron 42.11.16 so frozen installs match the manifest and nightly packaging can proceed.

  • Cursor Agent(13 Oct 26)

    fix: skip existing properties in db migration upgrade-version! treated (assert "<string>") as a no-op, so a property a migration adds was rebuilt when it already existed, resetting title, created-at, and order. Skip the existing property, matching classes, and warn instead of failing open. Co-authored-by: Tienson Qin <[email protected]>

  • dependabot[bot](23 Oct 26)

    chore(deps-dev): bump electron from 42.3.0 to 42.11.16 in /resources Bumps [electron](https://github.com/electron/electron) from 42.3.0 to 42.11.16. - [Release notes](https://github.com/electron/electron/releases) - [Commits](https://github.com/electron/electron/compare/v42.3.0...v42.11.16) --- updated-dependencies: - dependency-name: electron dependency-version: 42.11.16 dependency-type: direct:development ... Signed-off-by: dependabot[bot] <[email protected]>

  • Tienson Qin(22 Oct 26)

    Remove duplicate heading command and place clearing actions last

  • Cursor Agent(20 Oct 26)

    fix: keep nested blocks in get-page-data get-page-data built a page tree then discarded :block/children, so MCP getPage and logseq.cli.getPageData only returned top-level blocks. Sanitize each node and keep the nested tree. Co-authored-by: Tienson Qin <[email protected]>

  • rcmerci(22 Oct 26)

    ci: build RTC adapter in its test shard

  • Yuxi Liu(22 Oct 26)

    test(worker): db-worker-test's cleanup and redefs end before the next test starts restoring-worker-state chained its cleanup after the test's promise, so for an async test it ran after done: in the middle of the next test, where it reset the platform and the redefined vars that test had just set. The cleanup now runs in an :after fixture, once done is called and before the next test starts. db-sync-import-finalize-rejects-stale-import-id-test called done inside p/with-redefs, so the next test started with broadcast-to-clients! still redefined; done now comes after the redefs are put back.

  • Claude Fable 5.1(16 Oct 26)

    test(graph): call done after p/with-redefs has restored the vars Three async tests in frontend.handler.graph-test called done inside the body of p/with-redefs, which puts the original vars back only after the body's promise settles. The next test in the same process started with state/get-current-repo still redefined: frontend.persist-db-mutation-test failed right after it and passed alone.

  • Cursor Agent(23 Oct 26)

    fix: preserve non-outline content when importing file graphs File-to-DB import dropped every pre-block, so Markdown/Org files without - or # outline blocks lost their body. Keep pre-blocks that still have content after page properties are stripped, and omit property-only pre-blocks as before. Co-authored-by: Tienson Qin <[email protected]>

  • Cursor Agent(23 Oct 26)

    fix: keep image asset references in copy and export DB image blocks stored the file under assets/{uuid}.{ext} and exported only the caption, so copy and every export format dropped the image. Co-authored-by: Tienson Qin <[email protected]>

  • Tienson Qin(21 Oct 26)

    fix: handle deleted reaction targets in render snapshots Return empty reaction summaries for missing targets and watch for recreation. Include UUIDs in missing renderer entity errors and add lifecycle and identity validation coverage.

  • Tienson Qin(21 Oct 26)

    fix: get-matched-ids should only care about uuid string

  • Tienson Qin(21 Oct 26)

    fix(sync): preserve acknowledgements and drop stale references Keep canonical acknowledgement fields optional for legacy responses. Filter stale references before deriving page ownership, and run snapshot storage roundtrips against the SQLite adapter.

  • Tienson Qin(21 Oct 26)

    fix(sync): read download progress from snapshot metadata Return the current journal position with snapshot download metadata and use it to initialize client sync progress without a separate pull. Preserve the existing download fields, stream format, and pull endpoint for older clients.

  • Tienson Qin(21 Oct 26)

    fix(db-sync): harden upload confirmations and semantic writes Port db-sync changes from dev: persist graph writes and journal identities atomically, return canonical upload confirmations, preserve page ownership, and serialize UUIDs consistently. Support native URL values and stable block identities, and retain authenticated creators on semantic writes.

  • rcmerci(20 Oct 26)

    Merge pull request #13810 from logseq/logseq/remove-journal-match-recovery-workflow ci: remove one-time match password recovery workflow

  • rcmerci(20 Oct 26)

    ci: remove one-time match password recovery workflow

  • rcmerci(20 Oct 26)

    Merge pull request #13809 from logseq/logseq/journal-match-password-recovery ci: add one-time encrypted match password recovery

  • rcmerci(20 Oct 26)

    ci: add one-time encrypted match password recovery

  • Yuxi Liu(19 Oct 26)

    fix(views): no null .focus when a table cell popup hides after the cell unmounted (#13621) * fix(views): no null .focus when a table cell popup hides after the cell unmounted save-block-and-focus selected the cell from its ref and focused it in a timer; after the table re-rendered or the page changed the ref was nil, so [nil] was selected and the timer threw (db-test #1357). Without a cell, editing ends and nothing is selected or focused; the timer also checks the cell is still in the document. * chore(test): remove implementation-coupled table focus test --------- Co-authored-by: Mega Yu <[email protected]>

  • Tienson Qin(19 Oct 26)

    fix(publishing): copy static export files without copyFile (#13795) Electron's asar wrapper extracts copyFile sources once to $TMPDIR and reuses that path for the process lifetime. macOS deletes unused temp files after ~3 days, so File -> Export public pages then fails with ENOENT on 404.html and skips the remaining static files. Copy asar-safe static files by readFileSync/writeFileSync instead, and report the source and destination when a copy fails. Co-authored-by: Cursor Agent <[email protected]>

  • Tienson Qin(19 Oct 26)

    fix: sort cleared date placeholders without crashing views (#13800) Clearing Scheduled or Deadline keeps :logseq.property/empty-placeholder on the block. Tag-view sorting compared that keyword to timestamps and threw, which failed get-render-snapshots and crashed the page. Treat placeholders as empty for sort, group, and filter; fail-safe other incomparable values; and isolate :view-data errors like queries. Co-authored-by: Cursor Agent <[email protected]>

  • Yuxi Liu(19 Oct 26)

    fix(page): creating a page does not open a namespace child, tag or property of that name (#13625) * fix(page): creating a page does not open a namespace child, tag or property of that name <create!'s name lookup returns the oldest page of that name of any kind anywhere, and it returned that page instead of creating one: "Bar" with "Foo/Bar" opened Foo/Bar's Bar, "foo" with a tag "Foo" opened the tag (db-test #1345). It now reuses only a journal or an ordinary top-level page, as the worker's create does, and creates otherwise. * fix(page): distinguish namespaces and node types in creation menus --------- Co-authored-by: Mega Yu <[email protected]>

  • Yuxi Liu(19 Oct 26)

    fix(property): a single-value popup for a property with no type shows the select (#13623) single-value-select's case had no default, so a property with closed values and a nil type threw "No matching clause" in render (db-test #1363). Any type other than the node types now uses select, as the multi-value popup already does.

  • Yuxi Liu(19 Oct 26)

    fix(import): property and tag of the same name on one page (#13707) * fix(import): keep property distinct from a same-name tag on the same page With convert-all-tags, a page with both tags:: [[x]] and x:: built the property on the uuid that this file's class conversion also used, giving one entity that is both class and property. Fixes #12727 * test(import): check the tag, the property and its value, not only that the graph validates * chore(test): simplify same-name import regression tests --------- Co-authored-by: Mega Yu <[email protected]>

  • Yuxi Liu(19 Oct 26)

    fix(editor): /code, /calc, /quote on a block with text insert the new block (#13736) * fix(editor): /code, /calc, /quote on a block with text insert the new block * fix(editor): /code, /calc, /quote wait for the insert and turn only an inserted block insert-new-block-aux! resolves to [insert-promise sibling? block]; the upsert now waits for the insert promise, as Enter does, and calls turn-type! only when a block was inserted (none is for a default value or a single URL value), so no property is set on a missing block. * fix(editor): preserve source content when inserting typed blocks --------- Co-authored-by: Mega Yu <[email protected]>

  • Yuxi Liu(19 Oct 26)

    fix: unlinked references ignore ref ids and match aliases (#13706) * fix: unlinked references ignore ref ids and match aliases Block titles store refs as [[uuid]], so a short page title matched the ids of referenced pages; alias titles were not searched. Fixes #12790, fixes #12438 * fix: preserve reference boundaries in unlinked mentions --------- Co-authored-by: Mega Yu <[email protected]>

  • Yuxi Liu(19 Oct 26)

    fix(clock): a task's time spent of whole hours shows its hours (#13695)

  • Yuxi Liu(19 Oct 26)

    fix(publishing): a page marked private keeps its blocks out of an all-pages-public export (#13691)

  • Yuxi Liu(19 Oct 26)

    fix(editor): a math block saved again with its $$ keeps the formula alone (#13672) Typing $$E=mc^2$$ in a new block and leaving it with a click on another block or Up/Down saved it twice: the first save made it a math block with the title E=mc^2, the second saved the editor's text $$E=mc^2$$ as the title of a block that was already a math block, which KaTeX draws as a red error. A math block's title written as 1 display math now saves as the formula inside.

Logseq Security

3.2/10

Repo Security Summary

Updated 24 Aug 26

  • Maintained10/10
  • Code-Review1/10
  • CII-Best-Practices0/10
  • Dangerous-Workflow10/10
  • Security-Policy0/10
  • Token-Permissions0/10
  • License10/10
  • Binary-Artifacts3/10
  • Branch-ProtectionN/A
  • PackagingN/A
  • Signed-Releases0/10
  • Fuzzing0/10
  • Pinned-Dependencies0/10
  • SAST0/10

Security Advisories (1)

Logseq Website

Website

Logseq: A privacy-first, open-source knowledge base

A privacy-first, open-source platform for knowledge management and collaboration.

Redirects

Does not redirect

Security Checks

All 65 security checks passed

Server Details

  • IP Address13.249.180.47
  • Hostnameserver-13-249-180-47.atl58.r.cloudfront.net
  • LocationAtlanta,Georgia,United States of America,NA
  • ISPAmazon.com Inc.
  • ASNAS16509

Associated Countries

  • USUS
  • CACA
  • JPJP

Safety Score

Website marked as safe

100%

Trackers

No known trackers found

Blacklist Check

logseq.com was found on 0 blacklists

  • AntiSocial Blacklist
  • Artists Against 419
  • Badbitcoin
  • Bambenek Consulting
  • CERT Polska
  • CoinBlockerLists
  • CRDF
  • CryptoScamDB
  • EtherAddressLookup
  • EtherScamDB
  • Fake Website Buster
  • MetaMask EthPhishing
  • NABP Not Recommended Sites
  • OpenPhish
  • PetScams
  • PhishFeed
  • PhishFort
  • Phishing.Database
  • PhishStats
  • PhishTank
  • Phishunt
  • RPiList Not Serious
  • Scam.Directory
  • SecureReload Phishing List
  • Spam404
  • StopGunScams
  • Suspicious Hosting IP
  • ThreatFox
  • ThreatLog
  • TweetFeed
  • URLhaus
  • ViriBack C2 Tracker

Website Preview

Website preview

Logseq iOS App

App Info

Logseq

Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden. Logseq includes the following features: 1. Backlink 2. Knowledge Graph 3. Page and block references 4. Page and block embeds 5. Tasks & Todos 6. SRS Cards 7. Zotero integration 8. Youtube, Twitter, etc. integration 9. Audio recorder 10. Powerful queries 11. Whiteboards

Rating

Rated 4.38 out of 5 stars by 264 users

Version Info

  • Current Version0.10.9
  • Last Updated23 Apr 24
  • First Released13 Apr 22
  • Minimum iOS Version14.0
  • Device Models Supported130

App Details

  • IPA Size62.44 Mb
  • PriceFree (USD)
  • Age Advisory4+
  • Supported Languages1
  • DeveloperLogseq Inc.
  • Bundle IDcom.logseq.logseq

Screenshots

  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot
  • App screenshot

Logseq Reviews

More Digital Notes

  • Cryptee

    Cryptee

    crypt.ee

    Private & encrypted rich-text documents. Cryptee has encryption and anonymity at its core, it also has a beautiful and minimalistic UI. You can use Cryptee from the browser, or download native apps. Comes with many additional features, such as support for photo albums and file storage. The disadvantage is that only the frontend is open source. Pricing is free for starter plan, $3/ month for 10GB, additional plans go up-to 2TB.

    No Security AuditNot Open Source cryptee/web-client
  • Joplin

    Joplin

    joplinapp.org

    Cross-platform desktop and mobile note-taking and todo app. Easy organisation into notebooks and sections, revision history and a simple UI. Allows for easy import and export of notes to or from other services. Supports synchronisation with cloud services, implemented with E2EE.

    Security Audited Open Source laurent22/joplin
  • Notable

    Notable

    notable.md

    An offline markdown-based note editor for desktop, with a simple, yet feature-rich UI. All notes are saved individually as .md files, making them easy to manage. No mobile app, built-in cloud-sync, encryption or web UI. But due to the structure of the files, it is easy to use your own cloud sync provider, and additional features are provided through extensions.

    No Security Audit Open Source notable/notable
  • Obsidian

    Obsidian

    obsidian.md

    A powerful knowledge base that works on top of local plain-text Markdown files. It has a strong community, and a lot of plugins and themes. Generally privacy-respecting, but no encryption out of the box, and some of the code is obfuscated or not fully open source

  • Poznote

    Poznote

    poznote.com

    Self-hosted notes and tasks app with rich-text, Markdown and drawing editors, tags, multi-user, OIDC login and a REST API. Docker-based (PHP + SQLite); the only outbound call is a daily update check. No mobile apps (PWA), no end-to-end encryption.

    No Security Audit Open Source timothepoznanski/poznote
  • Standard Notes

    Standard Notes

    standardnotes.com

    S.Notes is a free, open-source, and completely encrypted private notes app. It has a simple UI, yet packs in a lot of features, thanks to the Extensions Store, allowing for: To-Do lists, Spreadsheets, Rich Text, Markdown, Math Editor, Code Editor and many more. You can choose between a number of themes (yay, dark mode!), and it features built-in secure file store, tags/ folders, fast search and more. Standard Notes is actively developed, and fully open-source.

  • Turtle

    Turtle

    turtlapp.com

    A secure, collaborative notebook. Self-host it yourself, or use their hosted plan (free edition or $3/ month for premium).

    Security Audited Open Source turtl/desktop
  • VNote

    VNote

    app.vnote.fun/en_us

    A free, open-source note-taking application built with Qt, focused on providing a pleasant Markdown editing experience. It manages notes directly as plain text files on your local system.

About the Data: Logseq

Change History

  • Amended (icon) by @azzamsa #258
  • Amended (iosApp, subreddit)

Edit Logseq Data

You can edit Logseq's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external sources, a list of these can be found data documentation.

Origin Data

Modify Data

API

You can access Logseq's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/logseq

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share Logseq

Help your friends compare Digital Notes, and pick privacy-respecting software and services.
Share Logseq and Awesome Privacy with your network!