credentials

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package credentials is the management use case over the credential vault (secrets never enter logs): an operator stores per-engagement secrets (write-only) and lists or deletes them by NAME. The secret value is never returned, logged, or audited – only the SandboxRunner resolves plaintext, at execution time. Every mutation is recorded to the append-only audit log WITHOUT the value.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service manages vault credentials (set/list/delete), audited.

func NewService

func NewService(vault ports.CredentialVault, audit ports.AuditLogger, clock ports.Clock) (*Service, error)

NewService validates its dependencies and returns the service.

func (*Service) Delete

func (s *Service) Delete(ctx context.Context, actor string, engagementID shared.ID, name string) error

Delete removes a credential by name. ErrNotFound if it does not exist.

func (*Service) List

func (s *Service) List(ctx context.Context, engagementID shared.ID) ([]ports.CredentialMeta, error)

List returns the credential names + timestamps for an engagement (no values).

func (*Service) Set

func (s *Service) Set(ctx context.Context, actor string, engagementID shared.ID, name string, secret []byte) error

Set stores (or replaces) a secret under name for an engagement. The value is write-only: it is encrypted by the vault and never echoed, logged, or audited.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL