Skip to main content
aftercalls
Book a demo Start free trial

Third-party licenses

aftercalls bundles and depends on open-source components. Each retains its own upstream license. This page is the authoritative manifest; the same list ships inside every installer as THIRD_PARTY_NOTICES alongside the downloaded app.

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:

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.

Corresponding source. Both binaries use FFmpeg commit 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).

The operational sub-processors aftercalls uses (cloud hosting, transcription, summarization, email) aren't listed here — they aren't licensed components we redistribute. See the current Privacy Policy for how call data flows through them at the category level.