Back to Infisical

Deliver Your First Secret

docs/documentation/platform/secrets-mgmt/quick-starts/deliver-first-secret.mdx

0.162.33.1 KB
Original Source

This quickstart walks you through the core secrets management workflow. You'll create a project, add a secret to an environment, and inject it into an application with the Infisical CLI, replacing your .env file.

Prerequisites

<Steps> <Step title="Create a Project"> A project holds all secrets for one application or service, split across environments.
1. Log in to [Infisical](https://app.infisical.com)
2. Click **Create Project** and give it a name (e.g., `orders-service`)

Every new project starts with three environments: **Development**, **Staging**, and **Production**.
</Step> <Step title="Add a Secret"> 1. On the **Secrets Overview** page, click into the **Development** environment 2. Click **Add Secret** and enter a key and value (e.g., `DB_PASSWORD`)
<Tip>
Migrating an existing app? Drag and drop your `.env` file onto the dashboard to import all of its secrets at once.
</Tip>
</Step> <Step title="Install the CLI and Log In"> Install the [Infisical CLI](/cli/overview) for your platform, then authenticate:
```bash
infisical login
```

Your browser opens to complete the login.

<Note>
In a containerized environment such as WSL 2 or Codespaces, run `infisical login -i` to avoid browser-based login.
</Note>
</Step> <Step title="Connect Your Project"> In your application's directory, link it to the Infisical project you created:
```bash
infisical init
```

This writes a `.infisical.json` file with [local project settings](/cli/project-config). It contains no secrets and is safe to commit.
</Step> <Step title="Inject Secrets into Your App"> Start your application through the CLI. Infisical fetches the secrets for the environment and injects them as environment variables:
```bash
# e.g., npm run dev, flask run, go run main.go
infisical run --env=dev -- <your start command>
```

Your application reads `DB_PASSWORD` from its environment like any other variable. No `.env` file needed.
</Step> </Steps>

Next Steps

<CardGroup cols={2}> <Card title="Core Concepts" icon="book" href="/documentation/platform/secrets-mgmt/concepts/secrets-mgmt"> Understand how projects, environments, folders, and secrets fit together. </Card> <Card title="Secrets Delivery" icon="truck-fast" href="/documentation/platform/secrets-mgmt/concepts/secrets-delivery"> Deliver secrets to production with SDKs, agents, Kubernetes, and CI/CD. </Card> <Card title="Local Development Guide" icon="laptop-code" href="/documentation/guides/local-development"> Set up a secure local development workflow for your whole team. </Card> <Card title="Access Control" icon="shield-halved" href="/documentation/platform/secrets-mgmt/concepts/access-control"> Scope who can access which environments and paths. </Card> </CardGroup>