ffmpeg LGPL v2.1+
The desktop agent bundles a build of ffmpeg
as a sidecar executable named ffmpeg-aftercalls. It's used to
mix the mic + system-audio tracks into a single playable file and to
compress the upload to Opus, so recording isn't a multi-megabyte
push on every call.
We bundle LGPL-only builds — no --enable-gpl,
no --enable-nonfree. The binary is pulled unmodified from a
version-pinned upstream LGPL build per platform, sha256-verified in CI:
- Linux (x86_64, static) — ffmpeg 7.0.2 from johnvansickle.com.
- Windows (x86_64, essentials) — ffmpeg 7.1.1 from GyanD/codexffmpeg on GitHub.
- macOS (Apple Silicon, static) — ffmpeg 7.1.1 from osxexperts.net.
The LGPL v2.1 license text is bundled with the downstream build and available upstream at ffmpeg.org/legal.html.
Tauri Apache-2.0 / MIT
Tauri 2 — the desktop app framework the aftercalls agent is built on.
Svelte + SvelteKit MIT
Svelte / SvelteKit — the UI framework for the agent and the web portal.
Rust crates Apache-2.0 / MIT / ISC
The backend and the agent depend on a number of Rust crates including but not limited to: axum, tokio, sqlx, serde, reqwest, anyhow, uuid, chrono, aws-sdk-s3, tauri-plugin-*. All dual-licensed Apache-2.0 / MIT (or ISC) — no copyleft obligations.
aes-gcm Apache-2.0 / MIT
The backend uses the aes-gcm crate from the RustCrypto project to encrypt stored OAuth credentials for customer-chosen integrations (e.g. Zoho CRM) at rest. Pure-Rust implementation, no FFI.
async_zip MIT
The backend uses the async_zip crate to assemble the per-user data export ZIP archive on the fly. It writes ZIP64 + data-descriptor entries straight into a streaming sink, so a multi-gigabyte archive is uploaded to object storage in 8 MiB chunks instead of being staged on disk first.
windows-rs Apache-2.0 / MIT
The windows crate is used on Windows-only builds of the agent to enumerate active WASAPI capture sessions (auto-detect call start). Microsoft's official Rust bindings.
Geist + Geist Mono SIL OFL 1.1
Geist from Vercel. Self-hosted on our own origin so the agent and portal never phone a third-party font CDN. The OFL 1.1 license text ships with the font files.
marked MIT
The web portal uses marked for rendering the Terms of Service + Privacy Policy markdown in the acceptance-gate flow.
TipTap MIT
TipTap powers the in-app notes editor — the rich-text box where you jot notes during and after a call. Ships with both the desktop agent and the web portal.
ProseMirror MIT
ProseMirror is the underlying editor toolkit TipTap is built on. Pulled in transitively — same permissive license.
tiptap-markdown MIT
tiptap-markdown
provides the markdown parse/serialize pass so notes round-trip cleanly
between the editor and the stored notes column on each call.
tauri-plugin-autostart Apache-2.0 / MIT
tauri-plugin-autostart powers the "Launch at sign-in" toggle in the desktop agent's Settings, so aftercalls can be ready in your system tray as soon as you sign in without a manual launch.
rusqlite MIT
rusqlite backs the desktop agent's local list of apps that have used your microphone, so you can choose which ones should auto-record. The list is stored only on your computer and never sent to our servers.
js-yaml MIT
The web portal build uses js-yaml to parse structured content at compile time. It is not shipped to end-user browsers as a runtime dependency of the static bundle.
argon2 Apache-2.0 / MIT
The backend uses the argon2 crate from RustCrypto to hash account passwords before storage.
jsonwebtoken MIT
The backend uses jsonwebtoken to sign and verify the short-lived tokens that keep app sessions scoped to the signed-in user and organization.
openidconnect Apache-2.0 / MIT
The backend uses openidconnect to implement customer-configured single sign-on flows.
reqwest Apache-2.0 / MIT
The backend and desktop agent use reqwest for outbound HTTPS requests to aftercalls APIs and customer-enabled integrations.
sqlx Apache-2.0 / MIT
The backend uses sqlx for compile-checked PostgreSQL queries and migrations.
Desktop notification crates Apache-2.0 / MIT / MIT
The desktop agent uses notify-rust on Linux, mac-notification-sys on macOS, and tauri-winrt-notification on Windows to show local call-detection and action notifications.
Tauri plugins Apache-2.0 / MIT
The desktop agent uses Tauri 2 plugins for opener, notification, global shortcut, file-system access, clipboard, dialog, updater, process control, single-instance handling, and autostart support. These ship from the tauri-apps plugins workspace.
TipTap editor extensions MIT
The in-app notes editor uses TipTap link, placeholder, and starter-kit extensions so links, empty-note prompts, and common rich-text editing commands behave consistently in the agent and portal.
Sentry SDKs MIT
The backend, web portal, and desktop agent can use sentry-rust and @sentry/browser for DSN-gated diagnostic error reporting when configured.
swift-bridge Apache-2.0 / MIT
The desktop agent uses swift-bridge on macOS to bridge a small Swift shim (the system-audio loopback recorder) into the Rust agent.
coreaudio-sys Apache-2.0 / MIT
The desktop agent uses coreaudio-sys on macOS to observe audio-input device state through the CoreAudio HAL (which apps are currently using the microphone).