MGToolbox — Third-Party Software and Model License Notice ========================================================= MGToolbox is a client-side web application. Everything below runs in the user's browser; no server-side processing occurs. This file separates CODE licenses from MODEL WEIGHTS licenses, per the project's policy of documenting exactly which model is used and under which license. The MGToolbox application code itself is proprietary to its author. CODE (shipped to the browser as JavaScript/WASM) ------------------------------------------------ Name Version License Notes next 14.2.35 MIT Framework (static export). react / react-dom 18.3.1 MIT UI runtime. pdf-lib 1.17.1 MIT PDF merge/split/rotate, images→PDF assembly. pdfjs-dist 6.3.289 Apache-2.0 PDF→image rendering, text extraction. Its worker (pdf.worker.min.mjs) is served from /public, copied at build time. wasm-media-encoders 0.7.0 MIT MP3 encoding (LAME-derived encoder compiled to WASM; see its repository for the full LAME license text — LAME is LGPL, used here as a separately-downloaded compiled artifact). tesseract.js 7.x Apache-2.0 OCR runtime (WASM). kokoro-js 1.2.1 Apache-2.0 Kokoro TTS wrapper for transformers.js. @huggingface/transformers 3.8.1 Apache-2.0 transformers.js — loads ONNX models in-browser. Ships onnxruntime-web (MIT) under the hood. jszip 3.10.1 MIT (dual ZIP packaging of batch MIT/GPL-3) results. lucide-react 1.16.0 ISC (via Icon set (LUCIDE icons). lucide dev dependency) clsx / tailwind-merge — MIT Class-name utilities. tailwindcss (build-time) 3.4.4 MIT CSS framework — MIT; not shipped as runtime code. typescript (build-time) 5.x Apache-2.0 Type checking only. esbuild (build-time) 0.25.x MIT Bundles the model-host Web Worker to /model-host.worker.js (not shipped through Next's webpack pipeline). @mediapipe/tasks-vision 0.10.35 Apache-2.0 MediaPipe vision runtime (WASM) — only when the object detector / face detector tools ship. 0.10.35 is the first release that loads in module workers. Build-time patch disclosure: scripts/copy-assets.mjs generates src/vendor/onnxruntime-extern-wasm.mjs — a patched copy of onnxruntime-web's dist/ort.min.mjs (MIT) in which one self-referencing `new URL(...)` expression (used only by ORT's multi-threaded proxy worker, which requires COOP/COEP headers this site deliberately does not use) is replaced with `import.meta.url`. The patched file retains the original MIT license and copyright notice. MODEL WEIGHTS (downloaded on first use, cached in the browser) -------------------------------------------------------------- Models are NOT shipped with the application. Each downloads once from its CDN at first use and is cached by the browser. The authoritative machine-readable list lives in src/lib/models/registry.ts (one row per model: repo id, size, license, verification status); this file is its human-readable mirror. A model becomes reachable in the tool UI only when its registry row is status "ready". CURRENTLY ENABLED (registry status: ready) ------------------------------------------ 1. Speech-to-text (English) Model: onnx-community/moonshine-base-ONNX (Moonshine Base, 61M parameters, quantized ≈63 MB) Weights: MIT — Moonshine is released by Useful Sensors under MIT (both reference code and base model weights). IMPORTANT: this covers the ENGLISH base model only. Community fine-tunes and other language variants of Moonshine carry their own licenses and are NOT used by this site. 2. Text-to-speech (English) Model: onnx-community/Kokoro-82M-v1.0-ONNX (q8, ≈90 MB) Weights: Apache-2.0 — Kokoro-82M-v1.0 by hexgrad is released under Apache-2.0. Voice provenance caveat: the bundled voices (af_heart, etc.) ship with the official model card under the model's Apache-2.0 terms. The Kokoro author has previously withdrawn individual voices whose provenance was disputed. MGToolbox uses ONLY voices bundled with the official v1.0 model; if any voice's provenance is contested in the future it will be removed. 3. OCR (English + Mongolian) Data: Tesseract tessdata_fast language files: `eng` and `mon` (≈4 MB each) License: Apache-2.0 — traineddata files from the tesseract-ocr project's tessdata_fast repository. 4. Speech-to-text (Spanish, French, Portuguese, Japanese) Model: onnx-community/whisper-tiny (OpenAI Whisper Tiny, q8, ≈42 MB, language forced per pair) Weights: MIT — Whisper models are released by OpenAI under MIT. Status: verified 2026-09-08 via scripts/verify-models.mjs (q8 load + per-language forcing through a full generation pass); enabled as language options in the STT tool. 5. Sentiment analysis (English) Model: Xenova/distilbert-base-uncased-finetuned-sst-2-english (q8, ≈27 MB) Weights: Apache-2.0 (upstream distilbert-base-uncased-finetuned- sst-2-english, Hugging Face). Verified 2026-09-08. 6. Text similarity / embeddings (English) Model: Xenova/all-MiniLM-L6-v2 (q8, ≈23 MB) Weights: Apache-2.0 (sentence-transformers all-MiniLM-L6-v2). Verified 2026-09-08. 7. Translation (en↔es, en↔fr, ja→en) Models: Xenova/opus-mt-en-es, opus-mt-es-en, opus-mt-en-fr, opus-mt-fr-en, opus-mt-ja-en (q8, ≈80 MB per pair) Weights: CC-BY-4.0 — OPUS-MT by Helsinki-NLP (Jörg Tiedemann) and the OPUS-MT-train project. ATTRIBUTION REQUIREMENT: CC-BY-4.0 requires attribution. The translator tool UI displays the credit line "OPUS-MT (Helsinki-NLP / Jörg Tiedemann) — CC-BY 4.0" whenever results are shown, and this file carries the mirror notice. No en→ja or en↔pt pair exists as a browser-ready ONNX conversion (checked 2026-09); the UI offers only the pairs that actually load — no fake coverage. Status: verified 2026-09-08 via scripts/verify-models.mjs (all five pairs: q8 load + real translation pass); enabled as directions in the translator tool. 8. Text-to-speech (Mongolian) Model: Kokoro-MN fp16 (≈163 MB) — THIS PROJECT'S OWN fine-tune of Kokoro-82M (hexgrad, Apache-2.0), trained on Mongolian speech by MGToolbox. Served from this project's Cloudflare R2 bucket (163 MB exceeds the Pages per-asset limit); in development it is served from /models/. Weights: Apache-2.0 — the upstream Kokoro-82M license carries over to the fine-tuned weights, which this project releases under Apache-2.0. Commercial use permitted. Phonemization: in-house Mongolian G2P (src/workers/lib/ mongolianG2p.js) feeds a raw ONNX session; kokoro-js's English-only phonemizer is not involved. Status: verified 2026-09-09 via scripts/verify-models.mjs tts-mn (fp16 session load + real Mongolian synthesis; sample kept at scripts/tts-mn-sample.wav). Runs CPU (WASM) only — ORT's WebGPU EP lacks a kernel this architecture needs — and single-threaded, which the tool UI states honestly. 9. Image classification Model: onnx-community/mobilenetv3_small_100.lamb_in1k (q8, ≈11 MB) Weights: Apache-2.0 (timm / ONNX model zoo lineage). Status: verified 2026-09-09 via scripts/verify-models.mjs (q8 load + full classify pass with real ImageNet labels); enabled in the AI image classifier tool. 10. Background removal (portrait matting) Model: Xenova/modnet (q8, ≈25 MB), via transformers.js 3.8's dedicated background-removal pipeline. Weights: Apache-2.0 — MODNet by ZHKKKe. Portrait-oriented: the tool states its product/pet limitation honestly. Status: verified 2026-09-09 via scripts/verify-models.mjs (q8 load + real matting pass: alpha 252 on the portrait-shaped region vs 0 in the corner). 11. Voice Activity Detector (any language) Model: BricksDisplay/silero-vad-6.2 (fp16, 1.2 MB), a re-export of upstream Silero VAD v6.2; pinned revision d5f05343ab09671d549093fb9c1871f118577903. Weights: MIT — Silero VAD by the Silero team. Status: verified 2026-09-09 via scripts/verify-models.mjs vad (raw ORT session; real-speech probability 1.000 vs silence 0.009 with the 576-sample context feeds the plain ONNX export requires; cross-checked against the official upstream silero_vad.onnx with identical feeds). Runs CPU (WASM) only; enabled in the voice-activity-detector tool. 12. Noise suppression Model: RNNoise (Jean-Marc Valin / Xiph.Org, with Mozilla and Mark Borgerding lineage), compiled to WASM via @echogarden/rnnoise-wasm 0.2.0 (npm, BSD-3-Clause; 125,713-byte wasm served same-origin from /wasm/). Weights: BSD-3-Clause — verified against the COPYING file that ships inside the npm package (upstream xiph/rnnoise). Status: verified 2026-09-09 via scripts/verify-models.mjs noise (stationary hum+hiss suppressed to rms ×0.169; real-speech energy retention 0.867; 480-sample frames @48 kHz with one-frame latency compensation). Enabled in the noise-remover tool; runs entirely in the browser. PLANNED — LICENSED BUT NOT YET ENABLED (no tool page ships until the --------------------------------------------------------------------- listed verification passes and the registry row moves to "ready". 13. Object detection Model: Google MediaPipe EfficientDet-Lite0 (float16 tflite, ≈6 MB), official storage.googleapis.com model asset, Apache-2.0. Runtime: @mediapipe/tasks-vision 0.10.35 (Apache-2.0) — the first release that loads inside module workers (dev-only browser verification page before this row moves to ready). 14. Face detection (boxes only) Model: Google MediaPipe BlazeFace short-range (float16 tflite, ≈1 MB), Apache-2.0. Detection boxes and a count only — no biometric identification is performed or offered. Mongolian STT is intentionally NOT offered: no properly licensed, quality-verified Mongolian speech-to-text model has been found (see src/lib/ai/flags.ts — the flag stays false). Mongolian TTS IS offered via Kokoro-MN, this project's own Apache-2.0 fine-tune of Kokoro-82M (enabled item 8 above). The Mongolian OCR traineddata (Apache-2.0) is available because its license and quality are verified. ALGORITHMIC TOOLS (no model, no download) ----------------------------------------- The following tools use classical, deterministic algorithms and are labeled "not AI" in their UI and SEO copy: keyword extraction (RAKE + TF-IDF), language detection (n-gram profiles), text statistics and readability (Flesch / Flesch-Kincaid / ARI / Gunning-Fog), duplicate text finding (normalization + hashing), color extraction (4-bit quantization), image quality analysis (Laplacian energy + JPEG grid heuristics), smart crop (Sobel saliency), high-quality resize (staged resampling + unsharp; NOT a neural upscaler), duplicate image finding (dHash + Hamming distance), pitch detection (YIN, de Cheveigné & Kawahara 2002), and tempo detection (onset-energy flux + autocorrelation). REJECTED DURING THE AUDIT (and why) ----------------------------------- - imgly/background-removal-js — AGPL-3.0 weights: incompatible with a closed-source ad-supported site. - facebook/mms-tts-mon (Mongolian TTS) — CC-BY-NC: non-commercial only. - YOLO11n (object detection) — AGPL-3.0 (Ultralytics weights): incompatible; replaced by MediaPipe EfficientDet-Lite0 (Apache-2.0). - RMBG-1.4 / RMBG-2.0 (background removal) — BRIA non-commercial license; replaced by MODNet / u2netp (Apache-2.0). - fastText language-identification weights (lid.176) — CC-BY-SA share- alike ambiguity; replaced by an in-house n-gram detector. - Moonshine non-English community fine-tunes — license terms vary per model; not individually verifiable, so none are enabled. - ffmpeg.wasm — LGPL with a multi-thread core requiring COOP/COEP headers, which AdSense pages cannot use; ~31 MB download is also disproportionate for audio trimming. Replaced by the Web Audio API + wasm-media-encoders.