code: func New(dir, passphrase string) (*Config, error) {
  	if dir == "" || dir == "." {
  		return nil, fmt.Errorf("dir must not be empty")
  	}
  	fn := filepath.Join(dir, filename)
  
  	c := &Config{
  		filename:   fn,
  		passphrase: passphrase,
  	}
  
  	if !fsutil.IsFile(fn) {
  		err := save(c.filename, c.passphrase, map[string]string{})
  		return c, err
  	}
  
  	_, err := c.Get("")
  	if err != nil {
  		return nil, errors.Wrapf(err, "failed to open existing secrects config %s: %s", fn, err)
  	}
  	return c, nil
  }
docs: // New will load the given file from disk and try to unseal it