FFmpeg LGPL v3
The next desktop release is provisioned to bundle 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. CI verifies the archive
SHA-256 and exact build identity, then rejects any configuration with
--enable-gpl or --enable-nonfree:
- Linux x86_64 — BtbN
n7.1.5-12-g1fdbca85aaLGPL build, SHA-25658057a52…c65c59479. - Windows x86_64 — BtbN
n7.1.5-12-g1fdbca85aaLGPL build, SHA-256b7c1c846…e4ac74fc0.
These version-3 builds are conveyed under LGPL v3. The exact archive license and third-party notice ship with every installer. There is no current macOS aftercalls release.
1fdbca85…
and BtbN build/dependency recipes at
a99e8230….
Releases built from this pinned configuration must attach
checksum-verified archives of both snapshots beside the installers.
For a direct copy of any
corresponding dependency source or build artifact, email
privacy@aftercalls.io.
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).