# Third-Party Notices Leo Copyright © 2026 Dr. Jay Desai. All rights reserved. Leo's original code is proprietary. The notices below apply only to the named third-party components and do not make Leo as a whole open source. They do not imply joint ownership, affiliation or endorsement. Leo ships alongside third-party software, each component under its own licence. This file records what is bundled, where it came from, and the notices those licences require to be preserved. The full licence text of every component ships with the component itself, at the paths given below. Nothing here replaces those files; this is the index. --- ## Agent runtime — Hermes Agent | | | |---|---| | **Project** | NousResearch/hermes-agent | | **Copyright** | Copyright (c) 2025 Nous Research | | **Licence** | MIT | | **Licence text** | `vendor/leo-agent-runtime/LICENSE` | | **Pinned commit** | recorded in `vendor/leo-agent-runtime/LEO-VENDOR.json` | Leo does not implement its own agent loop. Its execution engine — the conversation loop, session store, tool registry, prompt builder and tool implementations — is Hermes Agent, used under the MIT licence. ## Skills library — Leo Skills Library | | | |---|---| | **Project** | NousResearch/hermes-agent | | **Copyright** | Copyright (c) 2025 Nous Research | | **Licence** | MIT | | **Licence text** | `vendor/leo-skills-library/LICENSE` | | **Pinned commit** | `0d02f0d1dc9d22400a58fc5a169185cbace680cb` | | **Provenance** | `vendor/leo-skills-library/UPSTREAM.txt` | | **Contents** | 203 skills (82 bundled, 121 optional) | Individual skills carry their own `author` field in `vendor/leo-skills-library/skills-manifest.json`, recording the contributor who wrote them. Those attributions are preserved verbatim in Leo's Skills Registry and are shown on each skill's card in the Skills screen, alongside the licence. The MIT licence requires that the copyright notice and permission notice be included in all copies or substantial portions of the software. Both ship in `vendor/leo-skills-library/LICENSE` and are reproduced in Leo's generated skills catalogue. ## Spelling — pyspellchecker | | | |---|---| | **Project** | barrust/pyspellchecker | | **Version** | 0.9.0 (pinned) | | **Licence** | MIT | | **Licence text** | `_internal/pyspellchecker-0.9.0.dist-info/LICENSE` | Leo's composer checks spelling entirely on this computer. The library is pure Python and carries its own word-frequency dictionaries — 12 of them, including `en.json.gz` with 160,572 English words — which are bundled into the frozen build at `_internal/spellchecker/resources`. No prompt text, no dictionary lookup and no personal word ever leaves the machine. ## QR rendering — qrcode | | | |---|---| | **Project** | lincolnloop/python-qrcode | | **Version** | 8.2 (pinned) | | **Licence** | BSD | ## Imaging — Pillow | | | |---|---| | **Project** | python-pillow/Pillow | | **Version** | 11.3.0 (pinned) | | **Licence** | MIT-CMU | ## WhatsApp bridge | | | |---|---| | **Project** | Derived from the Hermes Agent WhatsApp bridge | | **Copyright** | Copyright (c) 2025 Nous Research | | **Licence** | MIT | | **Licence text** | `_internal/whatsapp-bridge/THIRD-PARTY-LICENSE.txt` | Leo applies a small, source-controlled patch to the bundled bridge at build time — enabling the document-attachment route and completing the media-type table. The patch is in `installer/whatsapp_bridge_patch.py`; the upstream code and its licence are otherwise unmodified. ## Complete MIT licence text for the Nous Research components above The agent runtime, skills library and WhatsApp bridge portions identified above are distributed under the following notice and licence, reproduced unchanged: ```text MIT License Copyright (c) 2025 Nous Research Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ``` ## Python runtime and libraries Leo is frozen with PyInstaller and bundles the CPython runtime together with the third-party distributions its engine imports, including `openai`, `pydantic`, `httpx`, `certifi`, `pyyaml`, `beautifulsoup4`, `lxml`, `pypdf` and `python-docx`. Each is distributed under its own licence (variously MIT, Apache-2.0, BSD and MPL-2.0), and each retains its `LICENSE` and metadata inside the frozen application's `_internal` directory, where PyInstaller places the distribution's own `.dist-info`. `certifi` bundles the Mozilla CA certificate bundle, under MPL-2.0. ## Node runtime The WhatsApp bridge runs on a bundled Node.js runtime (`node.exe`), distributed under the Node.js licence, which is MIT with the additional notices for its dependencies recorded in the runtime's own `LICENSE` file. --- ## A note on identity Leo's product identity is Leo. The attribution above is a legal requirement and a statement of fact about engineering provenance; it is not a claim about who the assistant is. Leo never presents itself under any other name.