glacis 0.1.2__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
glacis/models.py
CHANGED
|
@@ -69,22 +69,82 @@ class AttestInput(BaseModel):
|
|
|
69
69
|
populate_by_name = True
|
|
70
70
|
|
|
71
71
|
|
|
72
|
+
class InclusionProof(BaseModel):
|
|
73
|
+
"""Merkle inclusion proof from transparency log."""
|
|
74
|
+
|
|
75
|
+
leaf_index: int = Field(alias="leaf_index", description="Leaf index in tree")
|
|
76
|
+
tree_size: int = Field(alias="tree_size", description="Tree size when proof generated")
|
|
77
|
+
hashes: list[str] = Field(description="Sibling hashes")
|
|
78
|
+
root_hash: str = Field(alias="root_hash", description="Root hash")
|
|
79
|
+
|
|
80
|
+
class Config:
|
|
81
|
+
populate_by_name = True
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
class STH(BaseModel):
|
|
85
|
+
"""Signed Tree Head."""
|
|
86
|
+
|
|
87
|
+
tree_size: int = Field(alias="tree_size")
|
|
88
|
+
timestamp: str
|
|
89
|
+
root_hash: str = Field(alias="root_hash")
|
|
90
|
+
signature: str
|
|
91
|
+
|
|
92
|
+
class Config:
|
|
93
|
+
populate_by_name = True
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
class TransparencyProofs(BaseModel):
|
|
97
|
+
"""Transparency proofs from receipt-service."""
|
|
98
|
+
|
|
99
|
+
inclusion_proof: InclusionProof
|
|
100
|
+
sth_curr: STH
|
|
101
|
+
sth_prev: STH
|
|
102
|
+
consistency_path: list[str] = Field(default_factory=list)
|
|
103
|
+
|
|
104
|
+
class Config:
|
|
105
|
+
populate_by_name = True
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
class FullReceipt(BaseModel):
|
|
109
|
+
"""Full receipt from receipt-service."""
|
|
110
|
+
|
|
111
|
+
schema_version: str = Field(default="1.0")
|
|
112
|
+
attestation_hash: str
|
|
113
|
+
heartbeat_epoch: int
|
|
114
|
+
binary_hash: str
|
|
115
|
+
network_state_hash: str
|
|
116
|
+
mono_counter: int
|
|
117
|
+
wall_time_ns: str
|
|
118
|
+
witness_signature: str
|
|
119
|
+
transparency_proofs: TransparencyProofs
|
|
120
|
+
|
|
121
|
+
class Config:
|
|
122
|
+
populate_by_name = True
|
|
123
|
+
|
|
124
|
+
|
|
72
125
|
class AttestReceipt(BaseModel):
|
|
73
126
|
"""Receipt returned from attestation."""
|
|
74
127
|
|
|
75
128
|
attestation_id: str = Field(alias="attestationId", description="Unique attestation ID")
|
|
129
|
+
attestation_hash: str = Field(alias="attestation_hash", description="Content hash")
|
|
76
130
|
timestamp: str = Field(description="ISO 8601 timestamp")
|
|
77
131
|
leaf_index: int = Field(alias="leafIndex", description="Merkle tree leaf index")
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
)
|
|
82
|
-
signed_tree_head: SignedTreeHead = Field(
|
|
83
|
-
alias="signedTreeHead", description="Tree head at attestation time"
|
|
84
|
-
)
|
|
85
|
-
badge_url: str = Field(alias="badgeUrl", description="Verification badge URL")
|
|
132
|
+
tree_size: int = Field(alias="treeSize", description="Tree size")
|
|
133
|
+
epoch_id: Optional[str] = Field(alias="epochId", default=None)
|
|
134
|
+
receipt: Optional[FullReceipt] = Field(default=None, description="Full receipt with proofs")
|
|
86
135
|
verify_url: str = Field(alias="verifyUrl", description="Verification endpoint URL")
|
|
87
136
|
|
|
137
|
+
# Computed properties for convenience
|
|
138
|
+
@property
|
|
139
|
+
def witness_status(self) -> str:
|
|
140
|
+
"""Return witness status based on receipt presence."""
|
|
141
|
+
return "WITNESSED" if self.receipt else "PENDING"
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def badge_url(self) -> str:
|
|
145
|
+
"""Return badge/verify URL."""
|
|
146
|
+
return self.verify_url
|
|
147
|
+
|
|
88
148
|
class Config:
|
|
89
149
|
populate_by_name = True
|
|
90
150
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: glacis
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.4
|
|
4
4
|
Summary: GLACIS SDK for Python - AI Compliance Attestation
|
|
5
5
|
Project-URL: Homepage, https://glacis.io
|
|
6
6
|
Project-URL: Documentation, https://docs.glacis.io/sdk/python
|
|
@@ -309,10 +309,10 @@ print(result.proof_valid) # Merkle proof check (online only)
|
|
|
309
309
|
| Tier | Price | Includes |
|
|
310
310
|
|------|-------|----------|
|
|
311
311
|
| Offline | Free | Local signing, "UNVERIFIED" status |
|
|
312
|
-
|
|
|
312
|
+
| Witnessed | Free, then usage-based | Independent witness, Merkle proofs, verification URLs |
|
|
313
313
|
| Enterprise | Custom | SLA, compliance exports, dedicated support |
|
|
314
314
|
|
|
315
|
-
Get started at [glacis.io](https://glacis.io)
|
|
315
|
+
Get started at [docs.glacis.io](https://docs.glacis.io/sdk/python/quickstart)
|
|
316
316
|
|
|
317
317
|
## License
|
|
318
318
|
|
|
@@ -2,7 +2,7 @@ glacis/__init__.py,sha256=9TLZCbUyUQ0JpqHBNiCjvkgt9HbiRRy3B03GMvxdlQ4,2465
|
|
|
2
2
|
glacis/__main__.py,sha256=GTA84o2Lx5md1kvI80ATu9yNDGidYtW808_TqOmIJSE,2969
|
|
3
3
|
glacis/client.py,sha256=hM3dokL7HZz3E8ovndvd-uHui31Hz8afv8IFGs4aH4U,27414
|
|
4
4
|
glacis/crypto.py,sha256=DiHIMGMKV616wpba0n7Niuw4t-Zz_q5ij4a7m4HDDvk,3579
|
|
5
|
-
glacis/models.py,sha256=
|
|
5
|
+
glacis/models.py,sha256=fFEp69KQZRhls5MJzAlSj3c2lJiQmEYoB6vTWIwB7QQ,11397
|
|
6
6
|
glacis/storage.py,sha256=tsmlG8bAq5daN1o6I9vmppKhstURm3jcO4_oLhOiyPg,10253
|
|
7
7
|
glacis/streaming.py,sha256=hAmR4XHQixLia6awnFfCaA9hZOtCq2b-pOzgaMd3YzQ,11260
|
|
8
8
|
glacis/wasm_runtime.py,sha256=kJeFAomzhtC8zxJYWrnexRVMedSQkz5LXGUF43_9EeQ,17697
|
|
@@ -10,7 +10,7 @@ glacis/integrations/__init__.py,sha256=BeLSA6eGkpBWAIbXPodgS42yD_GpQ-IuXhrgF2271
|
|
|
10
10
|
glacis/integrations/anthropic.py,sha256=xJo0Dgx4Y7TK9cQPfEaBXygX0X2lZs0D_pfioZ_P6AM,6927
|
|
11
11
|
glacis/integrations/openai.py,sha256=VkLtu8iQTMiAAa2pX7byC3je8BjzYiv-8_1T7sq3J4E,6941
|
|
12
12
|
glacis/wasm/s3p_core_wasi.wasm,sha256=gGrYI6hd0VkgqCg1mLADzSJP1pEUekkS-3PKd5mdBJo,253289
|
|
13
|
-
glacis-0.1.
|
|
14
|
-
glacis-0.1.
|
|
15
|
-
glacis-0.1.
|
|
16
|
-
glacis-0.1.
|
|
13
|
+
glacis-0.1.4.dist-info/METADATA,sha256=GkrvmqoiEcaWQ-lpHARq6CMjx8hvxeC7nKmIbeWcir0,9621
|
|
14
|
+
glacis-0.1.4.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
15
|
+
glacis-0.1.4.dist-info/licenses/LICENSE,sha256=B7g2sM9vz4NF1poTFNMil2cnkwMFel1qUnimyvYW1sw,10766
|
|
16
|
+
glacis-0.1.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|