package secretstore import "encoding/json" func MarshalCredential(cred Credential) ([]byte, error) { if err := cred.Validate(); err != nil { return nil, err } return json.Marshal(cred) } func UnmarshalCredential(data []byte) (Credential, error) { var cred Credential if err := json.Unmarshal(data, &cred); err != nil { return Credential{}, err } if err := cred.Validate(); err != nil { return Credential{}, err } return cred, nil }