@parmanasystems/signing
The Signing package provides the cryptographic primitives used to create and verify signatures throughout Parmana. Every authority verification outcome ultimately depends on cryptographic proof. The signing package provides the trust foundation that allows independent parties to verify attestations without trusting the runtime that produced them.Installation
Responsibilities
The signing layer provides:- Ed25519 signature generation
- Signature verification
- Signer abstractions
- Key management interfaces
- Attestation signing
- Trust root integration
Why it exists
Authority verification requires more than policy evaluation. A verifier must be able to prove:- who issued the attestation
- that the attestation was not modified
- that the outcome is authentic
- that the runtime possessed the correct signing authority
Trust model
Core concepts
Signers
A signer is responsible for producing cryptographic signatures. Typical implementations include:- Local development signers
- Production key-backed signers
- HSM-backed signers
- Cloud KMS signers
Verifiers
Verifiers validate signatures using the corresponding public key. Verification proves:- authenticity
- integrity
- non-tampering
Ed25519
Parmana uses Ed25519 because it provides:- strong security
- deterministic signatures
- fast verification
- broad ecosystem support
Attestation signing
Every execution attestation is signed. The signature covers:Independent verification
Verification does not require:- the original runtime
- the original database
- the original deployment
Relationship to other packages
| Package | Responsibility |
|---|---|
@parmanasystems/signing | Cryptographic signatures |
@parmanasystems/execution-runtime | Attestation generation |
@parmanasystems/verifier | Independent verification |
@parmanasystems/canonical | Canonical serialization |
@parmanasystems/core | End-to-end SDK |
Security properties
Integrity
Tampering invalidates the signature.Authenticity
Only authorized signers can issue attestations.Non-repudiation
Issued attestations remain verifiable later.Portability
Verification can occur anywhere.Design principles
Cryptographic trust
Trust derives from signatures, not infrastructure.Runtime independence
Verification works without runtime access.Long-term verifiability
Attestations remain verifiable years later.Deterministic
The same attestation always verifies the same way.See also
/packages/verifier/packages/canonical/packages/execution-runtime/verification/attestations/architecture/trust-portability