# `Stripe.Services.Apps.SecretService`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/services/apps/secret_service.ex#L2)

SecretServiceResourceSecret

Secret Store is an API that allows Stripe Apps developers to securely persist secrets for use by UI Extensions and app backends.

The primary resource in Secret Store is a `secret`. Other apps can't view secrets created by an app. Additionally, secrets are scoped to provide further permission control.

All Dashboard users and the app backend share `account` scoped secrets. Use the `account` scope for secrets that don't change per-user, like a third-party API key.

A `user` scoped secret is accessible by the app backend and one specific Dashboard user. Use the `user` scope for per-user secrets like per-user OAuth tokens, where different users might have different permissions.

Related guide: [Store data between page reloads](https://docs.stripe.com/stripe-apps/store-auth-data-custom-objects)

# `create`

```elixir
@spec create(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Set a Secret

Create or replace a secret in the secret store.

# `delete_where`

```elixir
@spec delete_where(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Delete a Secret

Deletes a secret from the secret store by name and scope.

# `find`

```elixir
@spec find(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

Find a Secret

Finds a secret in the secret store by name and scope.

# `list`

```elixir
@spec list(Stripe.Client.t(), map(), keyword()) ::
  {:ok, term()} | {:error, Stripe.Error.t()}
```

List secrets

List all secrets stored on the given scope.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
