First letters in the AAC reference app (abbreviation expansion) turns the first letters of words the person types into whole sentences, on their device, with a small language model on onnxruntime-web. The app serves the pieces of it that are not the model from its own site, under vendor/hf-tokenizers--/, put there by third_party/hf-tokenizers/vendor.sh. When someone downloads first letters, the app copies these files into their model store and runs them from there, in a worker on their device, on its graphics chip. Nothing typed is sent anywhere. Tokenizers.js (@huggingface/tokenizers, the version in the directory name), by Hugging Face. tokenizers.min.mjs: unchanged from the npm package. It turns text into the model's tokens and back. Licensed under the Apache License, Version 2.0: LICENSE.txt beside this file (the package's LICENSE, verbatim). Source: https://www.npmjs.com/package/@huggingface/tokenizers (package.json "license": "Apache-2.0"), https://github.com/huggingface/tokenizers.js (read 2026-10-01). ae-worker.js is the app's own worker (worker.js beside vendor.sh), part of the AAC reference app and under its licence (Apache-2.0). It drives the runtime and the tokenizer; it is not part of either. The runtime it drives, onnxruntime-web (MIT), is the one the listener uses, vendored once, with its licence and notices, under vendor/onnxruntime-web--/ by third_party/onnxruntime-web/vendor.sh. The model (Qwen3 0.6B, Apache-2.0, fine-tuned with conversations under CC BY 4.0 and Apache-2.0) is not part of this directory and is not covered by LICENSE.txt. The app publishes it separately, with its licences and attribution, in first letters' catalogue (Settings > First letters).