LegalOS マスキング (LegalOS Masking / Legal Masking Tool)
Copyright (c) 2026 Legal GPT Editorial Team / Legal-gpt.com
All Rights Reserved.

This product includes the third-party software components listed
below. Full license texts are bundled in the THIRD_PARTY_LICENSES/
directory of this distribution. See THIRD_PARTY_LICENSES/INDEX.md
for the complete index, the layout of subdirectories, and any
package-specific obligations.

================================================================
Detection engine (rule-based, no learned NLP models)
================================================================

The detection engine in this product is fully rule-based. It
relies exclusively on:

  * Regular expression patterns       (engine/base_patterns.py)
  * Contract-role detection patterns  (engine/person_role_rules.py)
  * Optional user dictionaries        (resources/dict/*.txt)
  * Contract-structure rules          (engine/party_extractor.py)
  * Address granularity rules         (engine/address_rules.py)
  * Date granularity rules            (engine/date_rules.py)

This product does NOT bundle any learned NLP model. Components
such as spaCy, GiNZA, ja-ginza, ja-ginza-electra, Sudachi,
Microsoft Presidio, thinc, blis, numpy, phonenumbers and their
dependencies were removed in Phase B-4. They are explicitly
blocked by the PyInstaller `excludes=` list to prevent
accidental re-bundling.

================================================================
PDF processing
================================================================

* pypdfium2  (Apache-2.0 OR BSD-3-Clause + LicenseRef-PdfiumThirdParty)
  Bundles the PDFium engine (developed by The Chromium Authors).
  PDFium contains code from multiple upstream projects whose
  notices are reproduced verbatim in:
    THIRD_PARTY_LICENSES/runtime/pypdfium2/LicenseRef-PdfiumThirdParty.txt
  This file MUST accompany every redistribution of this product.
  Apache-2.0, BSD-3-Clause, and CC-BY-4.0 license texts that
  apply to specific portions of pypdfium2 / PDFium are also
  included in the same directory.

* pdfminer.six  (MIT License)
  https://github.com/pdfminer/pdfminer.six

* pypdf  (BSD-3-Clause)
  https://github.com/py-pdf/pypdf

* Pillow  (HPND License - MIT/CMU style)
  https://python-pillow.org/

================================================================
Configuration / file I/O
================================================================

* PyYAML        (MIT License)
* python-docx   (MIT License)
* lxml          (BSD-3-Clause)
  Bundles libxml2 and libxslt (both MIT-style). See
  THIRD_PARTY_LICENSES/runtime/lxml/LICENSES.txt for the
  full upstream notices.
* charset-normalizer  (MIT License)
  Used to detect text-file encoding for .txt input files.

================================================================
GUI / runtime
================================================================

* customtkinter  (MIT License)
* darkdetect     (BSD)

================================================================
HTTP / TLS support (transitive of cryptography stack)
================================================================

The following packages are transitive dependencies of
``cryptography`` (which is required by ``pdfminer.six`` for
parsing encrypted PDFs). They are NOT invoked by the masking
pipeline itself, but are present in the EXE bundle.

* requests  (Apache License 2.0)
* urllib3   (MIT License)
* idna      (BSD-3-Clause)
* certifi   (Mozilla Public License 2.0)
    Provides Mozilla's trusted-root CA bundle. The unmodified
    MPL-2.0-licensed file is included verbatim. The MPL-2.0
    license text is in
    THIRD_PARTY_LICENSES/runtime/certifi/LICENSE .

================================================================
Cryptography stack (pdfminer.six dependency)
================================================================

* cryptography  (Apache-2.0 OR BSD-3-Clause)
* cffi          (MIT)
* pycparser     (BSD-3-Clause)

================================================================
Packaging (PyInstaller stack)
================================================================

The bootloader binary that launches this application is part of
PyInstaller (https://pyinstaller.org/). PyInstaller's framework
is licensed under GNU GPL v2, but the bootloader carries an
explicit exception clause permitting redistribution of the
bootloader as part of a non-GPL application:

    "In addition to the permissions in the GNU General Public
    License, the authors give you unlimited permission to link
    or embed the compiled version of this file into combinations
    with other programs, and to distribute those combinations
    without any restriction coming from the use of this file."

The full GPLv2 text is in
THIRD_PARTY_LICENSES/runtime/pyinstaller/COPYING.txt .
pyinstaller-hooks-contrib is dual-licensed Apache-2.0 OR GPLv2
with the same bootloader exception.

Other packaging-related components:
* altgraph        (MIT)
* pefile          (MIT)
* pywin32-ctypes  (BSD-3-Clause)
* pycryptodome    (BSD + Public Domain)
* setuptools      (MIT)
* pip             (MIT)
* typing_extensions (PSF-2.0)
* packaging       (Apache-2.0 OR BSD-2-Clause)
* colorama        (BSD-3-Clause)

================================================================
Development-only components (NOT redistributed)
================================================================

The following components are listed in ``requirements-dev.txt``
and used only by build / test scripts. They are NOT included in
the distributed EXE. ``legal_masking.spec`` excludes ``chardet``
explicitly to prevent accidental bundling.

* reportlab        (BSD-3-Clause) — synthetic test PDF generator
* pip-licenses     (MIT)          — license inventory tooling
* prettytable      (BSD-3-Clause) — pip-licenses formatting
* wcwidth          (MIT)          — prettytable width handling
* chardet          (LGPL-2.1+)    — transitive of reportlab only

================================================================
End of NOTICE
================================================================
