|
1 | 1 | # modelsign |
2 | 2 |
|
| 3 | +[](https://github.com/QuantQJ/modelsign/actions/workflows/ci.yml) |
| 4 | +[](https://opensource.org/licenses/MIT) |
| 5 | +[](https://www.python.org/downloads/) |
| 6 | + |
3 | 7 | Sign AI models with identity. Verify anywhere. |
4 | 8 |
|
5 | | -`modelsign` cryptographically binds model files to a signed identity card — who made this model, what it's based on, what it claims to be. Ed25519 signatures, zero ML dependencies, works with any model format. |
| 9 | +`modelsign` cryptographically binds model files to a signed identity card -- who made this model, what it's based on, what it claims to be. Ed25519 signatures, zero ML dependencies, works with any model format. |
6 | 10 |
|
7 | 11 | ## Install |
8 | 12 |
|
@@ -79,6 +83,37 @@ from modelsign import ( |
79 | 83 | - Model safety, fairness, or legal compliance |
80 | 84 | - Cryptographic timestamping (timestamps are metadata, not proofs) |
81 | 85 |
|
| 86 | +## How It Compares |
| 87 | + |
| 88 | +| | modelsign | OpenSSF Model Signing (OMS) | |
| 89 | +|---|---|---| |
| 90 | +| **Focus** | Simple signing + rich identity | Supply-chain integrity via Sigstore | |
| 91 | +| **Identity card** | Embedded (architecture, training, eval metrics) | Minimal (being expanded) | |
| 92 | +| **Setup** | `pip install modelsign` | Sigstore toolchain + transparency log | |
| 93 | +| **Signing** | Offline, Ed25519, one command | Keyless via OIDC + Rekor transparency | |
| 94 | +| **Best for** | Individual fine-tunes, HF uploads, quick sharing | Enterprise supply-chain, NGC publishing | |
| 95 | +| **Network required** | No | Yes (Sigstore/Rekor) | |
| 96 | + |
| 97 | +modelsign and OMS are **complementary**. Use modelsign for fast, offline, identity-rich signing. Use OMS when you need transparency logs and keyless verification at enterprise scale. |
| 98 | + |
| 99 | +## Identity Card Schema |
| 100 | + |
| 101 | +| Field | Required | Description | |
| 102 | +|---|---|---| |
| 103 | +| `name` | Yes | Model name | |
| 104 | +| `architecture` | No | Model class (e.g., `LlamaForCausalLM`) | |
| 105 | +| `base_model` | No | Parent model name/path | |
| 106 | +| `parent_signature` | No | Hash of parent's `.sig` (provenance chain) | |
| 107 | +| `version` | No | Semantic version | |
| 108 | +| `creator` | No | Person or organization | |
| 109 | +| `license` | No | SPDX identifier or name | |
| 110 | +| `intended_use` | No | What the model is for | |
| 111 | +| `restrictions` | No | What it should NOT be used for | |
| 112 | +| `training` | No | `{dataset, dataset_hash, epochs, hardware}` | |
| 113 | +| `quantization` | No | Method (e.g., `GPTQ-4bit`) | |
| 114 | +| `eval_metrics` | No | Benchmark results (`{mmlu: 0.68}`) | |
| 115 | +| `extra` | No | Any additional metadata | |
| 116 | + |
82 | 117 | ## License |
83 | 118 |
|
84 | 119 | MIT — QJ / ConstantOne (CIP1 LLC) |
0 commit comments