๐ก๏ธ AEGIS Core
Execution-Boundary Authorization & Atomic L3 Settlement for AI Agents
Enforce before execution. Verify before settlement.
AEGIS is a security and economic-control layer for high-risk AI-agent tool calls โ combining atomic budget enforcement, replay-safe authorization, deterministic receipts, SHA-256 action references, Ed25519 signatures, and an isolated atomic L3 settlement layer.
pip install aegis-core-lortuarte-sdk
๐จ The Problem
Autonomous AI agents can initiate payments, purchases, trades, API actions, and other irreversible tool calls concurrently.
A policy decision made too far away from execution can leave room for:
AI AGENT
โ
โผ
TOOL INTENT
โ
โโโโโโโโโโผโโโโโโโโโ
โ โ โ
โผ โผ โผ
CALL #1 CALL #2 CALL #N
โ โ โ
โโโโโโโโโโผโโโโโโโโโ
โ
โผ
CONCURRENT STATE RACE
โ
โโโโโโโโโโโดโโโโโโโโโโ
โ โ
โผ โผ
DUPLICATE EXECUTION OVERSPEND
AEGIS moves the authorization boundary directly in front of tool execution.
AI AGENT
โ
โผ
TOOL INTENT
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก๏ธ AEGIS โ
โ AUTHORIZATION GATE โ
โโโโโโโโโโโโฌโโโโโโโโโโโ
โ
โโโโโโโดโโโโโโ
โ โ
โผ โผ
ALLOW DENY
โ โ
โผ โผ
EXECUTE TOOL ๐ BLOCK
The protected tool executes only after an explicit ALLOW decision.
โก What AEGIS Does
AEGIS Core 3.3.0 focuses on the economic and authorization boundary between an autonomous agent and a high-risk external action.
๐ Atomic Budget Enforcement
Concurrent mutations of the process-local ledger are serialized by a lock.
๐ Replay-Safe Idempotency
An exact replay of the same authorization returns the historical receipt without consuming the budget again.
Reuse of the same transaction identity with conflicting economic data is denied.
๐ Tool-Call Cryptographic Binding
tool_call_id participates in the authorization identity used to derive the signed action reference.
Changing the tool-call identity changes the resulting action_ref.
๐ Signed Authorization Receipts
AEGIS produces deterministic authorization payloads protected by:
Deterministic Payload
โ
โผ
SHA-256
โ
โผ
Ed25519
โ
โผ
Signed Authorization Receipt
๐งช Tamper Detection
Changing signed authorization data invalidates cryptographic verification.
๐ Fail-Closed Behavior
Internal authorization failures deny execution.
An explicitly configured invalid Ed25519 private key aborts startup rather than silently replacing the configured cryptographic identity.
๐ฐ Decimal Monetary Accounting
Economic state uses Python Decimal rather than binary floating-point arithmetic.
AEGIS Core 3.3.0 supports monetary amounts with up to 6 decimal places.
- Minimum supported positive amount:
$0.000001 $0.001micropayments are supported- Amounts with more than 6 decimal places fail closed
- L3 settlement stores value as integer monetary units at a scale of
1,000,000units per USD
๐ฆ Atomic L3 Settlement
An isolated settlement layer consumes signed AEGIS authorizations and performs atomic buyer โ seller balance transitions using SQLite transactions.
๐ฆ Installation
pip install aegis-core-lortuarte-sdk
Requirements:
Python >= 3.8
cryptography
cryptography is installed automatically by the package.
๐ Quickstart
from decimal import Decimal
from aegis import AegisLocalPolicyGate
gate = AegisLocalPolicyGate()
agent_id = "agent-demo-001"
gate.ledger_data[agent_id] = Decimal("10.00")
receipt = gate.evaluar_gasto(
agent_did=agent_id,
operation="stripe_charge",
tool_call_id="payment-001",
amount_usd="3.00",
)
if receipt["policy_decision"] == "allow":
print("AUTHORIZED")
# Execute the protected tool here.
else:
print("BLOCKED")
print(receipt)
Expected authorization:
AUTHORIZED
Economic transition:
$10.00
โ
โ request $3.00
โผ
ALLOW
โ
โผ
$7.00
๐ก๏ธ Enforcement Boundary
Assume the remaining budget is:
$7.00
The agent attempts:
$20.00
AEGIS evaluates the action before external execution:
$7.00 AVAILABLE
โ
โ REQUEST $20.00
โผ
โโโโโโโโโโโโโโโ
โ DENY โ
โโโโโโโโฌโโโโโโโ
โ
โผ
budget_exhausted
โ
โผ
๐ TOOL BLOCKED
Integration pattern:
receipt = gate.evaluar_gasto(
agent_did=agent_id,
operation="stripe_charge",
tool_call_id="payment-002",
amount_usd="20.00",
)
if receipt["policy_decision"] == "allow":
result = execute_payment()
else:
result = "BLOCKED"
The integration layer remains responsible for ensuring the external tool is invoked only after allow.
๐ Idempotency & Replay Protection
AEGIS identifies an authorization using the agent and tool-call identity.
First request:
tool_call_id: payment-001
amount: $3.00
โ
โผ
ALLOW
โ
โโโ budget decreases once
โโโ cached: False
โโโ signed receipt created
Exact replay:
tool_call_id: payment-001
amount: $3.00
โ
โผ
HISTORICAL RECEIPT
โ
โโโ same action_ref
โโโ cached: True
โโโ NO second debit
Conflicting replay:
SAME TRANSACTION ID
โ
โโโ original amount: $1.00
โโโ new amount: $100.00
โ
โผ
DENY
โ
โผ
idempotency_conflict
Validated:
Exact replay does not double-debit PASS
Same ID + different amount blocked PASS
Same ID + different operation blocked PASS
๐ Cryptographic Authorization
AEGIS signs deterministic authorization semantics rather than an unstructured success flag.
POLICY EVALUATION
โ
โผ
DETERMINISTIC PAYLOAD
โ
โโโ agent_did
โโโ operation
โโโ amount
โโโ decision
โโโ tool-call binding
โ
โผ
SHA-256
โ
โผ
Ed25519
โ
โผ
SIGNED POLICY RECEIPT
โ
โผ
action_ref
Example receipt:
{
"agent_did": "agent-demo-001",
"operation": "stripe_charge",
"amount_usd": "3.00",
"policy_decision": "allow",
"policy_attenuations": [],
"policy_signature": "ed25519:...",
"action_ref": "...",
"cached": False
}
action_ref is represented as the 64-character hexadecimal encoding of a 32-byte SHA-256 digest.
SHA-256 digest 32 bytes
โ
โผ
action_ref 64 hexadecimal characters
๐งช Tamper Detection
Original signed authorization:
ORIGINAL PAYLOAD
โ
โโโ SHA-256
โ
โโโ Ed25519
โ
โผ
VALID โ
Modify signed data:
MODIFIED PAYLOAD
โ
โโโ different digest
โ
โโโ original signature
โ
โผ
INVALID โ
Validated:
Signature verification PASS
Tampered authorization rejected PASS
๐ Fail-Closed Security
AEGIS is designed to prefer denial over silent authorization when the protected authorization path fails.
INTERNAL FAILURE
โ
โผ
๐ DENY
โ
โผ
TOOL MUST NOT EXECUTE
Validated forced cryptographic failure:
BALANCE BEFORE: 10.00
DECISION: deny
BALANCE AFTER: 10.00
BALANCE PRESERVED: True
FAIL-CLOSED: True
ROLLBACK: PASS
Configured invalid-key behavior:
CONSTRUCTOR EXCEPTION: ValueError
GATE CREATED: False
FAIL-CLOSED STARTUP: True
EMERGENCY RECOVERY: False
SECURITY MODEL: INVALID KEY REJECTED
RESULT: PASS
This prevents an invalid configured cryptographic identity from being silently replaced at startup.
๐ฐ Financial-Loss Adversarial Matrix
AEGIS was exercised against a focused matrix of economic failure scenarios.
| Scenario | Result |
|---|---|
| Exact replay does not double-debit | โ PASS |
| Same ID + different amount blocked | โ PASS |
| Same ID + different operation blocked | โ PASS |
| Signature failure preserves balance | โ PASS |
| Over-budget request blocked without mutation | โ PASS |
| Exact-balance authorization | โ PASS |
| Zero / negative / non-numeric fail closed | โ PASS |
| Excess monetary precision rejected | โ PASS |
| DENY does not execute tool | โ PASS |
| Signed authorization verifies | โ PASS |
| Tampered receipt rejected | โ PASS |
tool_call_id changes action_ref |
โ PASS |
TOTAL TESTS: 12
PASS: 12
FAIL: 0
FINAL RESULT: PASS
๐งต Concurrent Double-Spend Protection
A 1,000-request adversarial contention test was executed against a budget capable of funding only one request.
Configuration:
REQUESTS: 1,000
WORKERS: 100
INITIAL BALANCE: $10.00
AMOUNT EACH: $10.00
Result:
$10 AVAILABLE
โ
1,000 COMPETING REQUESTS
โ
โผ
AEGIS LOCK
โ
โโโโโโโโดโโโโโโโ
โ โ
โผ โผ
1 ร ALLOW 999 ร DENY
โ
โผ
$10 AUTHORIZED
โ
โผ
FINAL BALANCE $0
Measured result:
| Property | Result |
|---|---|
| Allow | 1 |
| Deny | 999 |
| Authorized total | $10.00 |
| Final balance | $0.00 |
| Overspend | NO |
| Result | PASS |
This demonstrates concurrent budget protection inside the current process-local execution model.
It does not demonstrate cross-process or distributed consensus.
๐ฆ Atomic L3 Settlement
AEGIS includes an isolated L3 settlement layer that consumes a signed authorization before mutating settlement balances.
AI AGENT
โ
โผ
AEGIS AUTHORIZATION
โ
SHA-256 + Ed25519
โ
โผ
SIGNED POLICY RECEIPT
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ L3 VERIFICATION โ
โ โ
โ โ decision = allow โ
โ โ payload rebuilt โ
โ โ action_ref โ
โ โ Ed25519 signature โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โผ
BEGIN IMMEDIATE
โ
โโโโโโโดโโโโโโ
โ โ
โผ โผ
DEBIT BUYER CREDIT SELLER
โ โ
โโโโโโโฌโโโโโโ
โ
โผ
SETTLEMENT RECORD
โ
โผ
COMMIT
If settlement fails after the transaction begins:
FAILURE
โ
โผ
ROLLBACK
โ
โผ
BALANCES PRESERVED
Validated L3 security matrix:
| L3 Property | Result |
|---|---|
| Signed settlement | โ PASS |
| Conservation of value | โ PASS |
| Exact replay idempotent | โ PASS |
| Tampered seller blocked | โ PASS |
| Tampered amount blocked | โ PASS |
| Atomic rollback | โ PASS |
| Concurrent limited-budget settlement | โ PASS |
Concurrent L3 test:
REQUESTS: 100
SETTLED: 1
DENIED: 99
TOTAL: 7
PASS: 7
FAIL: 0
FINAL RESULT: PASS
โก Measured Performance
Performance is reported by execution layer.
AEGIS does not use a single latency number to represent different workloads.
Local Benchmark Environment
The following results were measured locally during the current validation run using time.perf_counter_ns().
They are local process measurements and must not be interpreted as Internet or hosted API round-trip latency.
1๏ธโฃ Economic Decision Primitive
Isolates local:
lock
+
Decimal comparison
+
Decimal subtraction
+
quantization
| Metric | Measured |
|---|---|
| Minimum | 0.400 ยตs |
| Median | 0.500 ยตs |
| P95 | 1.000 ยตs |
| P99 | 1.300 ยตs |
MEDIAN = 0.000500 ms
2๏ธโฃ Idempotency Cache Hit
| Metric | Measured |
|---|---|
| Minimum | 2.200 ยตs |
| Median | 2.400 ยตs |
| P95 | 4.900 ยตs |
| P99 | 7.700 ยตs |
MEDIAN = 0.002400 ms
3๏ธโฃ Full Signed Authorization
Includes the complete local authorization path measured by the benchmark:
validation
โ
โผ
lock
โ
โผ
idempotency
โ
โผ
budget decision
โ
โผ
deterministic payload
โ
โผ
SHA-256
โ
โผ
Ed25519
โ
โผ
receipt
| Metric | Measured |
|---|---|
| Minimum | 45.200 ยตs |
| Median | 47.900 ยตs |
| Mean | 57.363 ยตs |
| P95 | 81.600 ยตs |
| P99 | 153.900 ยตs |
MEDIAN = 0.047900 ms
4๏ธโฃ L3 SQLite In-Memory Settlement
Signed receipt verification + SQLite transactional settlement using :memory:.
| Metric | Measured |
|---|---|
| Minimum | 133.400 ยตs |
| Median | 146.550 ยตs |
| P95 | 245.900 ยตs |
| P99 | 393.200 ยตs |
MEDIAN = 0.146550 ms
5๏ธโฃ L3 Local File-Backed SQLite
Signed receipt verification + local file-backed SQLite transaction.
| Metric | Measured |
|---|---|
| Minimum | 486.600 ยตs |
| Median | 969.200 ยตs |
| Mean | 1.022 ms |
| P95 | 1.621 ms |
| P99 | 2.188 ms |
MEDIAN = 0.969200 ms
File-backed SQLite results include the local persistence path, but should not be interpreted as guaranteed physical-disk latency for every operation because SQLite and the operating system may cache I/O.
๐ Performance Summary
| Layer | Median | P95 | P99 |
|---|---|---|---|
| โก Economic decision primitive | 0.500 ยตs | 1.000 ยตs | 1.300 ยตs |
| ๐ Idempotency cache hit | 2.400 ยตs | 4.900 ยตs | 7.700 ยตs |
| ๐ Full signed authorization | 47.900 ยตs | 81.600 ยตs | 153.900 ยตs |
๐ฆ L3 SQLite :memory: |
146.550 ยตs | 245.900 ยตs | 393.200 ยตs |
| ๐พ L3 local file-backed SQLite | 969.200 ยตs | 1.621 ms | 2.188 ms |
Relative measured cost
SIGNED / DECISION: 95.80ร
FILE L3 / MEMORY L3: 6.61ร
L3 MEMORY / SIGNED: 3.06ร
๐ฌ Why the Latency Numbers Are Separated
A previous single latency number can hide which work is actually being measured.
AEGIS therefore reports the layers independently:
0.500 ยตs
DECISION PRIMITIVE
โ
โผ
2.400 ยตs
IDEMPOTENCY CACHE HIT
โ
โผ
47.900 ยตs
FULL SIGNED AUTHORIZATION
โ
โผ
146.550 ยตs
L3 SQLITE :MEMORY:
โ
โผ
969.200 ยตs
LOCAL FILE-BACKED SQLITE
These numbers answer different questions.
AEGIS therefore does not present 0.005 ms as a full L3 or end-to-end settlement latency claim.
The current evidence supports low-microsecond local hot paths and a sub-millisecond median for the tested local signed and SQLite settlement paths described above.
๐งฏ Benchmark Contamination Checks
The final evidence benchmark also isolates common measurement contamination.
Print overhead
Measured write to os.devnull:
NO-PRINT MEDIAN: 0.200 ยตs
PRINT MEDIAN: 2.400 ยตs
ADDED MEDIAN COST: 2.200 ยตs
Intentional sleep(0.001)
REQUESTED SLEEP: 1.000 ms
OBSERVED MEDIAN: 1.696 ms
P95: 1.941 ms
P99: 2.251 ms
Therefore intentional sleeps and console/debug work are kept conceptually separate from engine latency claims.
๐ซ What These Benchmarks Do NOT Measure
The current benchmark does not measure:
โ Client โ Internet โ Render โ client HTTP round-trip
โ Multi-process coordination
โ Multi-worker shared-state coordination
โ Multi-node distributed consensus
โ Remote Redis coordination
โ Remote PostgreSQL coordination
โ Stripe settlement latency
โ Blockchain settlement latency
No number for those layers is inferred from the local benchmark.
LOCAL ENGINE PERFORMANCE
โ
NETWORK ROUND-TRIP
โ
DISTRIBUTED CONSENSUS
โ
EXTERNAL FINANCIAL SETTLEMENT
๐งช Security Evidence
Current focused evidence:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ AEGIS SECURITY โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Cryptographic rollback PASS โ
โ Idempotency conflict PASS โ
โ tool_call_id binding PASS โ
โ Invalid configured key PASS โ
โ Fail-closed startup PASS โ
โ Ed25519 verification PASS โ
โ Tamper detection PASS โ
โ DENY โ tool not executed PASS โ
โ Decimal boundary handling PASS โ
โ Financial-loss matrix 12/12 PASS โ
โ 1,000-request double-spend PASS โ
โ L3 settlement matrix 7/7 PASS โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
This evidence is intended to be reproducible from the repository rather than accepted as a marketing claim.
๐งฐ Reproduce the Evidence
Core integration:
python test_integration.py
Enforcement:
python test_enforcement.py
Concurrent budget protection:
python test_concurrency.py
Cryptographic rollback:
python test_signature_failure_rollback.py
Idempotency conflict:
python test_idempotency_conflict.py
Tool-call cryptographic binding:
python test_tool_call_binding.py
Configured-key fail-closed behavior:
python test_key_failure_behavior.py
Financial-loss adversarial matrix:
python test_financial_loss_matrix.py
1,000-request double-spend test:
python test_double_spend_1000.py
L3 settlement security:
python test_l3_settlement.py
Final layered performance evidence:
python benchmark_final_evidence.py
Expected high-level security status:
CORE SECURITY PASS
FINANCIAL MATRIX 12/12 PASS
DOUBLE-SPEND PASS
L3 SECURITY 7/7 PASS
PERFORMANCE EVIDENCE COMPLETE
๐๏ธ Current Architecture
AI AGENT
โ
โผ
TOOL INTENT
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ ๐ก๏ธ AEGIS CORE โ
โ โ
โ Monetary Validation โ
โ Idempotency โ
โ Atomic Lock โ
โ Budget Enforcement โ
โโโโโโโโโโโโฌโโโโโโโโโโโโ
โ
โโโโโโโโดโโโโโโโ
โ โ
โผ โผ
ALLOW DENY
โ โ
โ โโโโโโโโโโโโบ ๐ BLOCK
โผ
DETERMINISTIC PAYLOAD
โ
โผ
SHA-256
โ
โผ
Ed25519
โ
โผ
SIGNED AUTHORIZATION
โ
โโโโโโโโโโโดโโโโโโโโโโ
โ โ
โผ โผ
PROTECTED TOOL L3 SETTLEMENT
โ
โผ
VERIFY AUTHORIZATION
โ
โผ
BEGIN IMMEDIATE
โ
โโโโโโโโโโดโโโโโโโโโ
โ โ
โผ โผ
DEBIT CREDIT
โ โ
โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
COMMIT
The authorization core and settlement layer are intentionally separated.
That separation makes it possible to benchmark, test, and reason about each boundary independently.
๐ฌ Current Security Model
AEGIS currently demonstrates these properties:
1. Enforce Before Execution
Authorization is produced before the integration invokes the protected external tool.
2. Atomic Process-Local Accounting
A lock protects local ledger mutation from concurrent access inside the current process.
3. Replay-Safe Authorization
Exact replay does not consume budget twice.
Conflicting reuse of transaction identity is denied.
4. Deterministic Authorization
Security-relevant authorization data is deterministically serialized before hashing and signing.
5. Cryptographic Verification
SHA-256 and Ed25519 allow downstream verification of authorization integrity.
6. Economic Rollback
Failures in protected authorization and settlement paths preserve economic state when the tested transaction must fail.
7. Atomic Local Settlement
The isolated L3 layer performs transactional buyer โ seller mutation and records settlement atomically under the tested SQLite model.
โ ๏ธ Current Scope & Limitations
AEGIS Core 3.3.0 is Beta software.
Current tested scope
โ Process-local authorization
โ Process-local locking
โ Decimal monetary accounting
โ Replay-safe idempotency
โ Idempotency conflict detection
โ Deterministic authorization receipts
โ SHA-256 action references
โ Ed25519 signatures
โ tool_call_id cryptographic binding
โ Fail-closed authorization behavior
โ Invalid configured-key rejection
โ Economic rollback
โ Concurrent local budget enforcement
โ Atomic SQLite L3 settlement
โ L3 replay protection
โ L3 tamper rejection
Not currently claimed
โ Cross-process atomicity
โ Shared state across multiple workers
โ Multi-node consensus
โ Distributed ledger coordination
โ Redis-backed distributed locking
โ PostgreSQL-backed distributed settlement
โ Byzantine fault tolerance
โ Blockchain finality
โ Stripe settlement guarantees
โ Internet-scale production readiness
These are separate production/distributed-system concerns and should not be inferred from the current local evidence.
๐ญ Current vs Future Architecture
Current
Agent
โ
โผ
AEGIS Core
โ
โโโ authorization
โโโ budget control
โโโ idempotency
โโโ SHA-256
โโโ Ed25519
โ
โผ
Signed Receipt
โ
โผ
Local Atomic L3 Settlement
Future / Distributed Direction
MULTIPLE AGENTS
โ
โผ
DISTRIBUTED AEGIS
โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
Shared State Coordination Persistence
โ โ โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ
โผ
DISTRIBUTED SETTLEMENT
The distributed architecture is a direction, not a claim about the current implementation.
๐ฏ Current Position
AEGIS is not an LLM reasoning guardrail.
It operates at the execution boundary:
AGENT REASONING
โ
โผ
TOOL INTENT
โ
โผ
๐ก๏ธ AEGIS
โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ โ โ
โผ โผ โผ
BUDGET IDEMPOTENCY CRYPTOGRAPHY
โ โ โ
โโโโโโโโโโโโโผโโโโโโโโโโโโ
โ
โผ
ALLOW / DENY
โ
โโโโโโโดโโโโโโ
โ โ
โผ โผ
TOOL EXECUTION L3
SETTLEMENT
The goal is narrow: make economically sensitive agent actions explicitly authorized, cryptographically verifiable, and testable before irreversible execution.
๐ Evidence Status
TESTED
โ
โผ
PASS
โ
โผ
REPRODUCIBLE
โ
โผ
DOCUMENTED
โ
โผ
DEMO-READY
๐ฆ Package
| Distribution | aegis-core-lortuarte-sdk |
| Version | 3.3.0 |
| Python | >=3.8 |
| Status | Beta |
| License | MIT |
Install:
pip install aegis-core-lortuarte-sdk
๐ License
MIT License.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aegis_core_lortuarte_sdk-3.3.0.tar.gz.
File metadata
- Download URL: aegis_core_lortuarte_sdk-3.3.0.tar.gz
- Upload date:
- Size: 25.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c8e4f56b91610673f995c1953d6a18965667548523010b2237654aa5ba8500e6
|
|
| MD5 |
601d582e6c4fd4d4f6e562b09f42f172
|
|
| BLAKE2b-256 |
20beaa6e8d20f34fe386730cf037bc4286df82cd90985ddb45c09f21a1d6348f
|
File details
Details for the file aegis_core_lortuarte_sdk-3.3.0-py3-none-any.whl.
File metadata
- Download URL: aegis_core_lortuarte_sdk-3.3.0-py3-none-any.whl
- Upload date:
- Size: 18.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8782115bfd4499669d7a8609bf04e7376d3c93edd1ad025eb9ac4755b9004875
|
|
| MD5 |
a056ef3f1cac27a014c0aa2f0413fc3a
|
|
| BLAKE2b-256 |
0ca885dde8567a4e99f7f023130229f3ac978aedd385ac6c1262f940b78f68fc
|