code: func GenerateSalt(ctx context.Context) (*base64url.Value, error) {
  	err := ctxutil.ErrIfDone(ctx)
  	if err != nil {
  		return nil, err
  	}
  
  	salt := make([]byte, saltBytes) // 16
  	_, err = rand.Read(salt)
  	if err != nil {
  		return nil, err
  	}
  
  	return base64url.New(salt), nil
  }
docs: // GenerateSalt returns a 16-byte (128 bit) salt used in password and secret
  // key derivation.