The four-keypair Credential Payload

Each logical CRE8 Key receives these components.

1. Authentication keypair
K_auth_private
K_auth_public

Algorithm: Ed25519

Purpose:

Sign API requests.
Prove possession.
Prevent bearer-token authentication.
Bind request method, path, body digest, timestamp, nonce, and Credential ID.

It cannot:

Mint children.
Change permissions.
Sign authored content as an Author.
Decrypt messages.








==========================================







2. Delegation keypair
K_delegate_private
K_delegate_public

Algorithm: Ed25519

Purpose:

Sign child-minting requests.
Sign permission assignments.
Sign policy reductions.
Initiate child rotation.
Request child suspension or revocation.

It cannot by itself:

Perform routine API operations.
Publish authored content.
Decrypt messages.








==========================================







3. Authorship keypair
K_author_private
K_author_public

Algorithm: Ed25519

Purpose:

Sign authored objects.
Sign credentials or statements.
Sign versions and amendments.
Co-sign collaborative objects.
Establish provenance.

A publication API call should normally require both:

K_auth signature + K_author signature

Compromise of only the authorship key would therefore not let an attacker submit forged material through the live CRE8 API.








==========================================







4. Confidentiality keypair
K_box_private
K_box_public

Algorithm: X25519

Purpose:

Receive encrypted messages.
Receive encrypted shares.
Encrypt keyring packages.
Establish recipient-specific shared secrets.

It cannot:

Authenticate API requests.
Sign content.
Mint children.
Change policy.








==========================================







5. Credential ID
credential_id

A random, immutable, public identifier, for example:

cre8_k_7PK1BHZ4...

It is used to locate:

The logical Key.
Current component versions.
Public keys.
Status.
Policy.
Parent.
Descendants.
Historical signatures.

The Credential ID is never a password or bearer secret.
