Self-hosted service
fastrepl/anarlog avatar
fastrepl/anarlog

anarlog: A Local-First Meeting Notetaker That Keeps the Bot Out of Your Call

Open source Granola AI Alternative. How to use it Download the latest release for your platform: github.com/fastrepl/anarlog/releases/latest Open it and join a meeting.

9,306 stars763 forksTypeScriptMIT

At a glance

What is it?
anarlog is an open-source, MIT-licensed desktop app that records and transcribes meetings on your own device, stores data in SQLite, and lets you bring your own AI. It is a practical alternative to Granola for privacy-conscious individuals and organizations that need to pass a security review.
Who is it for?
Adopt anarlog if you need AI meeting notes without a bot in the participant list and you want the data to live on your machine, or if you must get a notetaker through a security review and need readable source. Skip it if you require a polished mobile app or a fully managed cloud service, since no mobile app is currently distributed and cloud features are opt-in.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 14, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

What anarlog Actually Does Differently

Most AI meeting notetakers either join the call as a participant or upload the audio to a vendor's cloud. anarlog takes a different route: it captures audio directly from your device, so nothing appears in the participant list and no separate bot is involved. The README is explicit that it is built for people who want AI meeting notes without handing conversations to someone else's cloud, and for anyone who needs to get a notetaker past a security review. That positioning is the core of the project. It is not a cloud service with a local skin; it is a local-first application where cloud features like encrypted CloudSync and sharing are off by default and optional. The repository map shows a desktop app built with Tauri v2, a React and TypeScript UI, and a Rust backend, which is a sensible stack for a local audio-processing tool that needs to be cross-platform but still feel native.

The Data Flow: From Device Audio to Editable Notes

The workflow is divided into distinct stages, and each stage can use a different engine. Audio capture and recording happen on your device. Transcription can also happen on your device, on supported Macs, using built-in models. The README lists Soniqo or Apple Speech as local transcription options when available. For summaries, titles, and chat, you can choose a local model, your own API key, or an OpenAI-compatible local server such as Ollama, LM Studio, or Unsloth. The key design choice is that transcription and intelligence are decoupled. You can change the transcription model without touching the language model used for summaries, and vice versa. The active provider and model are always visible under Settings → Transcription and Settings → Intelligence. That transparency is rare in this category and directly addresses the auditability that security teams ask for.

Storage: SQLite and Plain Files, No Hidden Formats

Sessions, notes, and transcripts are stored in a local SQLite database. Recordings and attachments are plain local files. That means you can read the data without the application, which is a significant advantage over proprietary notetakers that lock notes into their own format. The README also mentions export to Markdown, so you can move notes into any other tool. The repository map confirms that the desktop app includes plugins for local STT, database access, calendar, export, and notifications. These are Tauri capabilities, which suggests the app is designed to be extended at the system level. For a security review, the ability to point at a SQLite file and say 'this is where everything lives' is more convincing than a promise of encrypted cloud storage.

Getting It Running: Commands and Requirements

The easiest path is to download the latest release from the GitHub releases page, open it, and join a meeting. The README lists recent desktop releases, with version 1.4.15 pushed in late August 2026. For developers who want to build from source, the requirements are specific and non-trivial: Node.js 22 or later, pnpm 11.1.1, Rust 1.94.0, and the Tauri v2 system dependencies. On Debian or Ubuntu, a setup script installs the toolchains and system packages: bash scripts/setup-linux.sh. Then you run pnpm install --frozen-lockfile and either pnpm exec turbo dev:desktop or pnpm exec turbo dev:web. The local development setup is designed to start without secrets, meaning the local-first app and website run without any API keys. Hosted AI, CloudSync, authentication, billing, and integrations require optional local services and configuration. That is a clean separation, but it also means that if you want to test the cloud features, you need to set up more than just the desktop app.

The Cloud Path: Optional but Not a Sideshow

While the core is local-first, anarlog does offer hosted services. The apps/api directory contains optional hosted services for AI, sync, sharing, and integrations. The supabase/ directory handles hosted authentication, sharing, sync, billing, and Cloud API data. The README describes two managed options: Pro (Cloud) transcription, which currently uses providers like Deepgram Nova, Soniox 5, and AssemblyAI Universal 3.5, and Auto intelligence, which uses the latest Claude Sonnet alias through OpenRouter. These are current routes, and the docs page Models and providers is the source of truth for what is active. The important nuance is that these cloud routes are not the default for everything. The README says cloud is opt-in, not required. That means an organization can run the app entirely locally, but if a user wants the convenience of managed transcription, they have to trust anarlog's cloud path. The privacy boundary is therefore not absolute; it is a choice per feature.

Limitations: Where anarlog Is the Wrong Tool

The most obvious limitation is the lack of a distributed mobile app. The repository has apps/mobile and apps/watch/apple, but the README states that no mobile app is currently distributed. If you need to take meeting notes on your phone, this is not the tool. Another limitation is that on-device transcription is only available on supported Macs. Windows and Linux users will need to rely on a hosted provider or a local OpenAI-compatible server, which somewhat weakens the local-first promise on those platforms. The README also notes that the team is now building char, a separate productivity app, and that anarlog remains maintained as the community application. That split could mean slower feature development for anarlog, though the repository shows ongoing releases. Finally, the enterprise components are source-visible but commercially licensed, so the MIT license does not cover everything in the repo. If you plan to fork the entire repository, you need to respect that boundary.

Alternatives: Granola and the Bring-Your-Own-AI Approach

The direct alternative is Granola, the app that anarlog explicitly positions against. Granola is a closed-source meeting notetaker that also runs on your device, but it does not offer the same level of local processing or data access. anarlog's differentiator is that it can transcribe on-device, stores data in SQLite, and lets you bring your own AI provider. That is a fundamentally different approach from a vendor that controls both the app and the AI pipeline. Another alternative is to use a generic OpenAI-compatible local server like Ollama or LM Studio directly, but then you lose the meeting-specific features such as audio capture, diarization, and note editing. anarlog sits in between: it handles the meeting logistics locally, and you plug in the model. The trade-off is that you have to configure the model yourself, which is more work than a fully managed service, but it gives you control over where your conversation data goes.

Maintenance and License: What to Expect

The repository is actively maintained, with releases coming out frequently in August 2026. The project uses a monorepo structure with apps, plugins, crates, and packages, which suggests a mature codebase. The license is MIT for the community application, which is permissive and allows commercial use. However, the enterprise/ directory is source-visible but commercially licensed, so you cannot freely reuse that part. The README also mentions that the team is now focused on char, which could affect long-term maintenance of anarlog. There is a CONTRIBUTING.md file that defines validation commands and contribution workflow, and a DeepWiki link for code-indexed explanations. For an organization, the maintenance cost is manageable if you stick to the stable desktop releases, but you should expect to handle your own AI provider configuration and possibly build from source if you need the latest features. The optional hosted services add complexity, but they are not required for the core local-first experience.

Editorial conclusion

Adopt anarlog if you need AI meeting notes without a bot in the participant list and you want the data to live on your machine, or if you must get a notetaker through a security review and need readable source. Skip it if you require a polished mobile app or a fully managed cloud service, since no mobile app is currently distributed and cloud features are opt-in. Before adopting, verify the current transcription and intelligence provider routes in the docs, confirm that your Mac supports the on-device models you intend to use, and check whether the commercial license for enterprise components affects your deployment. The project is MIT-licensed for the community app, but the enterprise directory is source-visible and commercially licensed, so read that boundary before building on it.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community notes

Community notes