code: func (e *Engine) Sign(ctx context.Context, s SignatureKeyPair, b []byte) ([]byte, error) {
  	pk, err := e.Unseal(ctx, s.Private, s.PNonce)
  	if err != nil {
  		return nil, err
  	}
  	defer pk.Destroy()
  
  	err = ctxutil.ErrIfDone(ctx)
  	if err != nil {
  		return nil, err
  	}
  
  	return ed25519.Sign(pk.Buffer(), b), nil
  }
docs: // Sign signs b bytes using the provided Sealed ed25519 keypair.