Files, provenance, checksums, capabilities, and license boundaries.
The repository's software license does not automatically replace or expand the license of a model weight.
Important
Do not tell a customer that every SafeVision model is Apache-2.0. The model files have different origins and licenses. Two YOLO exports explicitly contain Ultralytics AGPL-3.0 metadata, one old model has no established license, and the new age/gender model is published as Apache-2.0 by its Hugging Face repository.
| File | Function | Provenance evidence | License status | Commercial/proprietary use |
|---|---|---|---|---|
best.onnx |
NSFW/body-region detection | Embedded Ultralytics metadata, version 8.0.173; repository first release |
AGPL-3.0 declared in the ONNX file; original dataset/weight source is not otherwise documented here | Follow AGPL-3.0 obligations or obtain appropriate rights, including an Ultralytics Enterprise license where required |
best_opset15.onnx |
Generated compatibility conversion of best.onnx |
Same graph labels and Ultralytics metadata; changed opset | Same upstream status as best.onnx; conversion does not create a new license |
Same as best.onnx; ignored by Git |
safety_objects.onnx |
Smoking, alcohol, and drug-object detection | Trained in the SafeVision traine workspace from pretrained yolov8s.pt; exported by Ultralytics 8.3.168 |
AGPL-3.0 declared in the ONNX file; dataset rights remain separate | AGPL-compliant deployment or suitable Ultralytics commercial terms, plus verified dataset rights |
safety_objects.labels.json |
Class names and preprocessing metadata | Generated by the SafeVision training workflow | Covered by the SafeVision-owned software/documentation terms, subject to any incorporated third-party notices | Follow the project license and preserve notices |
onnx-communityage-gender-prediction-ONNX.onnx |
Estimated age and model-reported binary gender | Downloaded from onnx-community/age-gender-prediction-ONNX; SHA-256 matches the published file |
Apache-2.0 on the Hugging Face model card | Permitted by Apache-2.0 with required notices/attribution; validate dataset, privacy, and use-case obligations separately |
best_gender.onnx (legacy, removed) |
Older age/gender output | No embedded metadata; acquired online; origin/license not established | Unknown — no permission should be assumed | Do not redistribute or approve production use until the rightsholder and license are verified |
Primary upstream references:
- Ultralytics licensing
- GNU AGPL-3.0 text
- Age/gender ONNX model card
- Age/gender ONNX file
- SafeVision licensing guide
Machine-readable audit data is available in
MODEL_MANIFEST.json.
Caution
SafeVision is not Ultralytics and cannot grant an Ultralytics Enterprise license. SafeVision also cannot grant rights it does not own in an unknown model, training dataset, image, or third-party dependency.
| Check selection | Required files | Behavior when absent |
|---|---|---|
nude / nsfw |
best.onnx |
NSFW-enabled run fails or attempts the supported download path |
age |
Age/gender ONNX file | Clear missing-model error |
gender |
Age/gender ONNX file | Clear missing-model error |
objects |
safety_objects.onnx + safety_objects.labels.json |
Object-enabled run fails clearly |
nude,age,gender |
best.onnx + age/gender ONNX |
Default three-check workflow |
all |
Every active model and labels file | NSFW, demographics, and safety objects |
none |
No model | Rendering-only operations such as forced full cover |
The large age/gender file is intentionally ignored by Git. Download the exact published ONNX file from the repository root:
Invoke-WebRequest `
-Uri "https://huggingface.co/onnx-community/age-gender-prediction-ONNX/resolve/main/onnx/model.onnx" `
-OutFile ".\Models\onnx-communityage-gender-prediction-ONNX.onnx"Verify it:
Get-FileHash `
".\Models\onnx-communityage-gender-prediction-ONNX.onnx" `
-Algorithm SHA256Expected SHA-256 for the currently documented file:
0c35c868ea8ffba6d5fe727c1a6b82d9da600e690342d58ca268270560e28304
If upstream publishes a new revision, verify its model card, license, behavior, and checksum before replacing this documented value.
These checksums describe the files audited in this checkout. A different hash means the binary is a different build and its metadata/license must be reviewed again.
| File | Bytes | SHA-256 |
|---|---|---|
best.onnx |
12,125,773 | 9832f15515bdb06bcb5a77beb60bc8ea54439bd7ecbaac46dac3b760b3dd13cc |
best_opset15.onnx |
12,141,559 | b438331250b00607a261dee898e5c779549f1c0953d0c1c66ad8041b9612d4df |
safety_objects.onnx |
12,276,859 | b0774d7ef1fed50d7e7228942eb16f3ad357cf899e0efc07439a69bcc303f773 |
safety_objects.labels.json |
2,209 | a175d9e2f813807f6ea95669d41988dc2222f7a2d0322e2db60ab80f5d6a1918 |
| Age/gender ONNX | 344,969,849 | 0c35c868ea8ffba6d5fe727c1a6b82d9da600e690342d58ca268270560e28304 |
best.onnx
producer_name: pytorch
producer_version: 2.0.1
graph_name: torch_jit
opset: 17
author: Ultralytics
version: 8.0.173
license: AGPL-3.0 https://ultralytics.com/license
task: detect
input: images
output: output0
safety_objects.onnx
producer_name: pytorch
producer_version: 2.7.1
graph_name: main_graph
opset: 15
author: Ultralytics
version: 8.3.168
license: AGPL-3.0 License (https://ultralytics.com/license)
task: detect
input: images
output: output0
The training workspace confirms YOLO(args.base_model) with pretrained
yolov8s.pt, followed by Ultralytics ONNX export. SafeVision authored the
training workflow and performed the fine-tuning, but that does not erase the
upstream model/framework or dataset terms.
Age/gender ONNX
producer_name: pytorch
producer_version: 2.9.0+cu126
graph_name: main_graph
opset: 18
input: pixel_values
output: logits
embedded metadata: none
repository model card: Apache-2.0
Because the ONNX binary does not embed a license field, keep the model-card URL and Apache-2.0 notice with deployments.
Legacy best_gender.onnx
producer_name: pytorch
producer_version: 2.7.1
graph_name: main_graph
opset: 11
input: input
outputs: gender, age
embedded metadata: none
No author, source, dataset, or license was found in the file. The model is no longer used by SafeVision and should stay out of releases.
- The age/gender model uses ONNX opset 18 and requires ONNX Runtime 1.18 or newer in this project.
- SafeVision creates sessions lazily and reuses them.
- Multiple faces in one frame are batched.
- NSFW face detections are reused for demographics where possible.
CPUExecutionProvideris the portable default; accelerators need their own runtime and drivers.- Model outputs are estimates and must not be treated as legal-age proof, identity, or a legal conclusion.
python safeVisionCLI.py status
python safeVisionCLI.py providers
python main.py --helpBefore publishing or attaching any model to a GitHub Release:
- record its exact origin URL, author, version, and acquisition date;
- preserve the original license and notice files;
- inspect ONNX metadata and compute SHA-256;
- record the base weights/framework and all dataset licenses;
- confirm redistribution and commercial-production rights;
- do not label an unknown model as SafeVision-owned;
- update this registry and
docs/LICENSING.md; - validate accuracy, bias, privacy, and safety limitations independently.