Third-Party Dependency And Model Asset Review

Copy Markdown View Source

This document records the release licensing review for Obscura as of 2026-07-21. It is an engineering inventory and release decision, not legal advice. A deployer remains responsible for determining whether a dependency, model, tokenizer, dataset, or generated output is permitted for its use.

Release Decision

  • Obscura source and the Hex package are released under MIT.
  • The resolved software dependency graph uses permissive MIT, Apache-2.0, or BSD-2-Clause licenses. No GPL, AGPL, SSPL, source-available, or non-commercial software dependency was found.
  • The Hex package bundles the four pinned tiktoken vocabulary files and now includes THIRD_PARTY_NOTICES.md with the upstream OpenAI/Shantanu Jain MIT notice.
  • Presidio-Research snapshots and the vendored Ortex fork retain their own notices in the repository and are excluded from the Hex package.
  • Optional model weights, tokenizers, caches, and ONNX exports are not bundled or sublicensed by Obscura.
  • Software licensing does not block the base :fast release. The optional model-backed profiles remain subject to the asset decisions below.

Software Dependencies

The review used mix.lock, each fetched Hex package's hex_metadata.config, included license files, and the vendored Ortex notice. Versions are the versions resolved by the release worktree.

Direct Runtime And Optional Dependencies

DependencyVersionUseDeclared licenseDecision
jason1.4.5Base JSON handlingApache-2.0Approved
telemetry1.4.2Base telemetryApache-2.0Approved
plug1.20.3Optional Plug integrationApache-2.0Approved
nx0.12.1Optional tensor runtimeApache-2.0Approved
bumblebee0.7.0Optional token classificationApache-2.0Approved
safetensors0.1.3Optional checkpoint loadingApache-2.0Approved
ex_phone_number0.4.11Optional phone parsingMITApproved
exla0.12.0Development/test acceleratorApache-2.0Approved
emily0.7.2Development/test Apple GPU backendMITApproved
tokenizers0.5.1Optional GLiNER tokenizerApache-2.0Approved
vendored ortex0.1.10-obscura.1Repository-only GLiNER adapterMITApproved; excluded from Hex package

The resolved runtime transitive packages are also permissive:

  • Apache-2.0: axon, castore, complex, decimal, elixir_make, fine, hpax, mime, mint, nimble_options, nimble_pool, nx_image, nx_signal, plug_crypto, polaris, req, rustler_precompiled, unpickler, and xla.
  • MIT: finch, progress_bar, sweet_xml, and unzip.
  • Dual MIT/Apache-2.0: rustler.

Development and test packages (bunt, credence, credo, dialyxir, earmark_parser, erlex, ex_dna, ex_doc, ex_slop, file_system, makeup, makeup_elixir, makeup_erlang, nimble_parsec, sourceror, and stream_data) are MIT, Apache-2.0, or BSD-2-Clause and are not shipped as runtime dependencies of Obscura.

Native upstream components follow the same permissive boundary: EXLA/XLA and Hugging Face Tokenizers are Apache-2.0; Emily/MLX, Ortex/ONNX Runtime, and the Elixir phone integration are MIT or consume Apache-2.0 upstream components. Binary artifact notices must continue to be preserved by the package which distributes each artifact.

Bundled Tiktoken Vocabularies

Obscura bundles r50k_base.tiktoken, p50k_base.tiktoken, cl100k_base.tiktoken, and o200k_base.tiktoken. Their source URLs and SHA-256 hashes match the official openai/tiktoken encoding definitions. The upstream project is MIT and its copyright/permission notice is preserved in THIRD_PARTY_NOTICES.md.

The files are package data, not model weights. They must remain hash-pinned; changing their source, bytes, or attribution requires a new review. If a future upstream notice separates vocabulary-data terms from the tiktoken MIT license, Obscura must either adopt those terms or stop bundling the files.

Model And Dataset Assets

Stable profile contracts do not grant rights to their external assets. Obscura downloads assets only during explicit preparation, pins immutable revisions where available, and never bundles them in the Hex package.

AssetReviewed chainDecision
tner/roberta-large-ontonotes5 at 0bce50f7...Checkpoint has no license metadata; TNER code is MIT; dataset card says other; OntoNotes is governed by an LDC agreementUnresolved external asset. Not approved for redistribution by Obscura. Deployers must obtain and document authorization.
Jean-Baptiste/roberta-large-ner-english at 8f3abc1e...Checkpoint MIT; FacebookAI/roberta-large tokenizer/base at 722cf37b... MIT; trained on CoNLL-2003Conditional deployer review. Model/base grants are permissive, but training-data rights are not granted by Obscura.
OpenMed/privacy-filter-nemotron-v2 at reviewed revision 96824732...Checkpoint declares license: other; base openai/privacy-filter is Apache-2.0; Nemotron data is CC-BY-4.0; Gretel data is Apache-2.0; AI4Privacy data identifies CC-BY-4.0Unresolved external asset. The permissive base/data chain does not replace a checkpoint license grant. Keep experimental and do not redistribute.
urchade/gliner_multi_pii-v1 at 1fcf13e8...Checkpoint Apache-2.0; gliner_multi-v2.1 Apache-2.0; synthetic PII dataset Apache-2.0; microsoft/mdeberta-v3-base tokenizer/encoder MITPermissive chain documented. Experimental status remains based on product quality and exported-asset support, not an identified license blocker.

Stable Profile Consequences

The :balanced and :accurate names, option schemas, preparation behavior, and result contracts are stable Obscura APIs. Their default TNER asset is not license-cleared by Obscura. Stable therefore means API compatibility and measured technical behavior, not permission to use a checkpoint.

:accurate adds the Jean-Baptiste model. Its model and base-model metadata are MIT, but users must still make their own CoNLL-2003 provenance decision.

The Urchade chain is the cleanest reviewed optional model chain, but its lower measured quality and CPU-oriented supported path keep it experimental. OpenMed v2 remains experimental and license-blocked for redistribution because the checkpoint itself declares other without supplying terms.

Deployment Contract

Before preparing an external model, deployers must:

  1. Record the exact model, tokenizer, base model, datasets, and immutable revisions.
  2. Review all applicable checkpoint, tokenizer, dataset, hosting, and output terms for the intended use and jurisdiction.
  3. Preserve required copyright, attribution, and license notices.
  4. Avoid redistributing cached or converted assets unless that right is explicit.
  5. Retain the organization's approval decision with the deployed artifact.
  6. Re-run accuracy, privacy, memory, latency, and failure validation for any substituted model or converted checkpoint.

Obscura.Profile.preflight/2 reports third-party asset warnings. Passing preflight proves runtime readiness only; it does not prove legal authorization, regulatory compliance, or universal model quality.

Review Renewal Triggers

Repeat this review when any dependency version, model revision, tokenizer, training dataset, asset source, conversion path, package contents, or upstream license metadata changes. Do not silently replace an unresolved asset with a new revision under the same profile name.

Primary References