---
title: Licenses and notices
description: "The third-party software the desktop app includes, the license each one is used under, and where to get its source."
url: https://keepcopy.app/licenses
updated: 2026-08-15T00:00:00.000Z
---

# Licenses and notices

KeepCopy is not open source, but it is built on software that is. This page lists what the app includes, the license each part is used under, and how to get the source.

Last updated August 15, 2026.

## The short version

- The app bundles ffmpeg and LAME, both used under the GNU Lesser General Public License, version 2.1.
- It downloads yt-dlp on first launch. yt-dlp is in the public domain.
- The complete source for the bundled parts, and the script that builds them, comes with every download.
- KeepCopy itself is proprietary software published by Evolving Curiosity. Its own license does not restrict any right the licenses below give you.

## ffmpeg

KeepCopy uses libraries from the FFmpeg project under the LGPL v2.1. ffmpeg is what joins a separate video and audio stream into one MP4, and what turns a soundtrack into MP3 or M4A.

Most applications that bundle ffmpeg ship a general-purpose GPL build carrying video encoders like x264 and x265. This app never re-encodes video — it copies the streams the host already produced — so we compile our own build with none of those, and with nothing non-free. That keeps it LGPL.

You can check this on a copy you already have. Open Settings, then Licenses, then Open license texts. The manifest in that folder lists the exact version, the checksums of the sources, and every configure flag.

Bundled version: ffmpeg 7.1, built from [ffmpeg-7.1.tar.xz](https://ffmpeg.org/releases/ffmpeg-7.1.tar.xz), SHA-256 `40973d44970dbc83ef302b0609f2e74982be2d85916dd2ee7472d30678a7abe6`.

## LAME

LAME provides libmp3lame, the encoder behind the MP3 audio preset. It is used under the LGPL v2.1 and linked into the ffmpeg build above. LAME is also the reason the MP3 preset exists at all: ffmpeg has no MP3 encoder of its own.

Bundled version: LAME 3.100, built from [lame-3.100.tar.gz](https://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz), SHA-256 `ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e`. The source is unmodified apart from one line removed from a symbol file, a change needed to link on current compilers. That edit is visible in the build script.

## Getting the source

The LGPL asks that anyone who receives these binaries can get the source they were built from. Two ways to do that.

- The complete corresponding source accompanies the installers, as ffmpeg-source-and-licenses.tar.gz. It holds both upstream source archives, the build script, and the license texts.
- Or fetch the upstream archives yourself from the links above and check them against the SHA-256 sums. They are byte-identical to what we build from.

A copy of these notices travels with the installers too, as THIRD-PARTY-LICENSES.md. Neither file is needed to run the app. They are there so the source and the terms reach whoever receives the binary.

The build script is the whole recipe. Running it against those two archives reproduces the binary the app ships.

## yt-dlp

yt-dlp is the engine that reads a page and fetches the video. It is released into the public domain under the Unlicense, so it carries no conditions.

It is not part of the installer. On first launch the app downloads the official release from [the yt-dlp project on GitHub](https://github.com/yt-dlp/yt-dlp) and verifies it against the published SHA-256 sums. Which release you have is shown in Settings under Software.

## Application framework

The desktop app is built on Electron, which bundles Chromium and Node.js. Electron and Node.js are MIT-licensed and Chromium is BSD-licensed, each with further notices for their own dependencies. The full set for the build in use ships inside the app.

The remaining libraries in the app are permissively licensed — MIT, ISC, Apache-2.0, or BSD.
