Skip to content

Licenses & credits

KeepItLocally is built on open-source software. Everything listed here is sent to your browser and runs there — none of it sends your files anywhere. This page summarises each component and its licence; the notices file has every copyright notice and licence text in full.

Licence texts and notices

Ghostscript (GNU AGPL v3)

PDF compression, password add/remove, grayscale conversion and repair are powered by Ghostscript 10.06.0, Copyright © 2025 Artifex Software, Inc., used under the GNU Affero General Public License v3 or later. We serve an unmodified WebAssembly build: the npm package @okathira/ghostpdl-wasm 1.1.0, whose engine file has the SHA-256 checksum e8aaf3af75da65fe0af8d49b30fa717e4ff13eedbbdc0cdd5700f54fb8f667e6.

Corresponding source code for exactly that build:

Ghostscript contains these libraries and data, each under its own licence:

Components compiled into the Ghostscript engine
ComponentLicenceUsed for
FreeType 2.13.3FTL (dual-licensed FTL OR GPL-2.0-or-later; used here under the FTL)Part of the Ghostscript engine
IJG JPEG library 9fIJGPart of the Ghostscript engine
libpng 1.6.50libpng-2.0Part of the Ghostscript engine
zlib 1.3.1ZlibPart of the Ghostscript engine
LibTIFF 4.7.0libtiffPart of the Ghostscript engine
OpenJPEG 2.5.3BSD-2-ClausePart of the Ghostscript engine
Little CMS (lcms2mt, Artifex's thread-safe fork) 2.12 (LCMS_VERSION 2120; header says 2.13alpha)MITPart of the Ghostscript engine
Brotli 1.0.9 (per c/common/version.h)MITPart of the Ghostscript engine
jbig2dec 0.20AGPL-3.0-or-laterPart of the Ghostscript engine
Adobe CMap resources per file (e.g. UniJIS-UTF16-H 1.023)BSD-3-ClausePart of the Ghostscript engine
URW++ base 35 fonts (Nimbus Sans, Nimbus Roman, Nimbus Mono PS, URW Bookman, URW Gothic and others) 1.00AGPL-3.0-or-later with font embedding exceptionPart of the Ghostscript engine
Droid Sans Fallback font not statedApache-2.0Part of the Ghostscript engine
Ghostscript ICC profilesAGPL-3.0-or-laterPart of the Ghostscript engine
Emscripten runtime (JavaScript glue in /assets/gs.worker-*.js) 4.0.13MIT OR NCSAPart of the Ghostscript engine
musl libc (as shipped in Emscripten 4.0.13) 4.0.13MITPart of the Ghostscript engine
LLVM compiler-rt (as shipped in Emscripten 4.0.13) 4.0.13Apache-2.0 WITH LLVM-exceptionPart of the Ghostscript engine

Required credits

  • Portions of this software are copyright © 2024 The FreeType Project (www.freetype.org). All rights reserved.
  • This software is based in part on the work of the Independent JPEG Group.

Everything else

JavaScript packages bundled into the site
ComponentLicenceUsed for
@dnd-kit/accessibilityMITDrag-and-drop page ordering (screen-reader announcements)
@dnd-kit/coreMITDrag-and-drop page ordering
@dnd-kit/sortableMITDrag-and-drop page ordering
@dnd-kit/utilitiesMITDrag-and-drop page ordering
@jridgewell/gen-mappingMITSource-map support inside Terser (Code Formatter's JavaScript minifier)
@jridgewell/resolve-uriMITSource-map support inside Terser
@jridgewell/source-mapMITSource-map support inside Terser
@jridgewell/sourcemap-codecMITSource-map support inside Terser
@jridgewell/trace-mappingMITSource-map support inside Terser
@jsquash/avifApache-2.0AVIF encoding and decoding (Image Converter); wraps libavif and libaom compiled to WebAssembly
@jsquash/jpegApache-2.0JPEG encoding and decoding; wraps MozJPEG compiled to WebAssembly
@jsquash/pngApache-2.0PNG encoding and decoding; wraps a Rust PNG codec compiled to WebAssembly
@jsquash/webpApache-2.0WebP encoding and decoding; wraps libwebp compiled to WebAssembly
@pdf-lib/standard-fontsMITMetrics for the 14 standard PDF fonts, used by pdf-lib
@pdf-lib/upngMITPNG decoding inside pdf-lib
@react-router/devMITReact Router's default client entry module
@tesseract.js-data/engMITEnglish OCR model (eng.traineddata) for OCR PDF
@vercel/analyticsMITLoader for Vercel Web Analytics (production site only). The script it loads, /_vercel/insights/script.js, is served by Vercel's platform and is not part of this site's code.
comlinkApache-2.0Messaging between the page and its Web Workers
cron-parserMITCron Parser: next run times
cronstrueMITCron Parser: plain-English descriptions
diffBSD-3-ClauseDiff Checker
dijkstrajsMITSegment optimisation inside the qrcode package
dompurifyMPL-2.0 OR Apache-2.0Sanitising rendered HTML in Markdown Preview
fflateMITZIP archives for multi-file downloads
js-beautifyMITCode Formatter (HTML, CSS, JavaScript)
jsqrApache-2.0Reading QR codes from images
luxonMITDate handling inside cron-parser
markedMITMarkdown Preview
nearleyMITParser runtime inside sql-formatter
pakoMIT AND ZlibDeflate compression inside pdf-lib
papaparseMITCSV parsing (CSV ↔ JSON)
pdf-libMITCreating and editing PDFs (merge, split, rotate, sign, watermark, page numbers, metadata)
pdfjs-distApache-2.0Mozilla pdf.js: rendering PDF pages and extracting text
qrcodeMITQR Generator
reactMITUser interface
react-domMITUser interface
react-routerMITRouting
regenerator-runtimeMITAsync support inside tesseract.js
schedulerMITReact's scheduler
smol-tomlBSD-3-ClauseTOML in Data Converter
spark-md5WTFPL OR MITMD5 in Hash Generator
sql-formatterMITSQL Formatter
terserBSD-2-ClauseJavaScript minification in Code Formatter (runs in the browser)
tesseract.jsApache-2.0On-device OCR (OCR PDF); its worker is served from /tesseract/worker.min.js
tesseract.js-coreApache-2.0Tesseract OCR engine compiled to WebAssembly, served from /tesseract/
tslib0BSDTypeScript runtime helpers inside pdf-lib
wasm-feature-detectApache-2.0Detecting WebAssembly SIMD support to pick the fastest codec build
yamlISCYAML in Data Converter and ENV ↔ JSON
Code bundled inside the OCR worker (tesseract.js)
ComponentLicenceUsed for
bmp-jsMITOCR worker
idb-keyvalApache-2.0OCR worker
is-urlMITOCR worker
regenerator-runtimeMITOCR worker
wasm-feature-detectApache-2.0OCR worker
zlib.js (zlibjs)MITOCR worker
bufferMITOCR worker
ieee754BSD-3-ClauseOCR worker
base64-jsMITOCR worker
Libraries compiled into the other WebAssembly engines
ComponentLicenceUsed for
libavif 1.0.1BSD-2-Clause/assets/avif_*.wasm (@jsquash/avif 2.1.1)
libaom (AV1 codec) 3.7.0BSD-2-Clause, with the Alliance for Open Media Patent License 1.0/assets/avif_*.wasm (@jsquash/avif 2.1.1)
FAST feature detector (vendored in libaom) as in libaom 3.7.0BSD-3-Clause/assets/avif_*.wasm (@jsquash/avif 2.1.1), encoders
vector (vendored in libaom) as in libaom 3.7.0MIT/assets/avif_*.wasm (@jsquash/avif 2.1.1), encoders
libsharpyuv (from libwebp) libwebp e2c8587BSD-3-Clause, with the WebM patent grant/assets/avif_*.wasm (@jsquash/avif 2.1.1), encoders
MozJPEG 3.3.1IJG AND BSD-3-Clause AND Zlib/assets/mozjpeg_*.wasm (@jsquash/jpeg 1.6.0)
libwebp d2e245e (after 1.1.0)BSD-3-Clause, with the WebM patent grant/assets/webp_*.wasm (@jsquash/webp 1.5.0)
png (Rust crate) 0.17.10MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
flate2 (Rust crate) 1.0.28MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
fdeflate (Rust crate) 0.3.3MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
miniz_oxide (Rust crate) 0.7.1MIT OR Zlib OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
crc32fast (Rust crate) 1.3.2MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
adler (Rust crate) 1.0.20BSD OR MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
bitflags (Rust crate) 1.3.2MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
bytemuck (Rust crate) 1.14.0Zlib OR Apache-2.0 OR MIT/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
cfg-if (Rust crate) 1.0.0MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
simd-adler32 (Rust crate) 0.3.7MIT/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
rgb (Rust crate) 0.8.37MIT/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
wasm-bindgen (Rust crate) 0.2.89MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
js-sys (Rust crate) 0.3.66MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
web-sys (Rust crate) 0.3.66MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
Rust standard library 1.77MIT OR Apache-2.0/assets/squoosh_png_bg-*.wasm (@jsquash/png 3.1.1)
Tesseract OCR engine 5.3.0-dev (Balearica fork, commit 2a9c1c4)Apache-2.0/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
Leptonica 4af068b (after 1.82.0)BSD-2-Clause/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
LibTIFF b51bb15 (after 4.3.0)libtiff/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
libpng a37d483 (1.6.38 development)libpng-2.0/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
zlib 1.2.12Zlib/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
IJG JPEG library 9aIJG/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
libwebp 20ef03e (after 1.2.2)BSD-3-Clause, with the WebM patent grant/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
GIFLIB 5.1.4MIT/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
OpenLibm 0.8.0MIT, BSD-2-Clause, ISC and public domain (per file)/tesseract/tesseract-core-*.wasm (tesseract.js-core 7.0.0)
Emscripten runtime, musl libc, LLVM compiler-rt/libc++ (in the other WebAssembly engines) 3.1.57 (AVIF, JPEG), 2.0.34 (WebP), 4.0.15 (Tesseract)MIT OR NCSA; MIT; Apache-2.0 WITH LLVM-exceptionthe jSquash AVIF/JPEG/WebP and Tesseract WebAssembly files

Icons and fonts

Lucide icons (ISC) and Feather icons (MIT): some of the category icons share SVG path data with these icon sets. The site uses your device's system fonts; no web fonts are downloaded.