# 시크릿 개요

**시크릿**(Secrets)은 데이터베이스 URL, API 토큰, 서명 키 같은 프로젝트의 환경 변수와 시크릿을 한곳에
보관합니다. 앱이 실행되는 환경마다 따로 보관합니다. 모든 값은 프로젝트에만 속한 키로 암호화됩니다. 값은
누군가 표시하기 전까지 콘솔에서 가려져 있고, 표시할 때마다 누가 어떤 키와 폴더를 표시했는지가 워크스페이스의
[감사 로그](https://www.mocco.club/docs/ko/articles/2yiscf-audit-log)에 기록됩니다. 값 자체는 기록되지 않습니다.

시크릿은 미리 보기 단계라 아직 **제품**(Products) 페이지에 나오지 않습니다. 소유자나 관리자가
[Mocco의 MCP 서버](https://www.mocco.club/docs/ko/articles/frhj3w-connect)에서 `mocco_products_enable` 도구로 제품 `secrets`를 켤 수
있습니다. 그러면 프로젝트에 **시크릿** 페이지가 생깁니다.

## 환경

프로젝트는 **Development**, **Staging**, **Production** 세 환경으로 시작합니다. 누군가 **시크릿**
페이지를 처음 열 때 만들어집니다. 환경마다 시크릿을 따로 보관하므로 `DATABASE_URL`이 환경마다 다른
데이터베이스를 가리킬 수 있습니다.

![시크릿 페이지: 시크릿 수가 표시된 환경 탭, 왼쪽의 폴더 트리, 값이 가려진 루트 폴더의 시크릿](https://fi-workers-mocco-storage.s3.ap-northeast-2.amazonaws.com/pub/w/93e11fe8-0494-4e3d-b1cb-fe4dffd3ee7e/p/d64785b8-9a23-4fa1-a81d-550af30e203a/helpcenter/294ba282-bda8-4e8f-a59c-e09478ab600f/secrets-environments.png)

소유자와 관리자는 `preview`나 `qa` 같은 환경을 추가할 수 있습니다. **환경 추가**를 누르고 **이름**을
입력한 뒤(**슬러그**는 이름에서 제안됩니다) **추가**를 누릅니다. 슬러그는 영문 소문자, 숫자, 하이픈으로
씁니다. 프로젝트에는 환경을 25개까지 둘 수 있습니다.

## 폴더

환경 안에서 시크릿은 루트 `/`부터 시작하는 폴더에 들어 있습니다. `/api`, `/api/stripe`처럼 함께 쓰는
것끼리 폴더로 묶으세요. 왼쪽 트리는 환경의 폴더와 폴더마다 든 시크릿 수를 보여 주고, 목록 위의 경로는
지금 있는 위치를 보여 줍니다.

폴더를 추가하려면 트리 아래에 이름을 입력하고 **추가**를 누릅니다. 새 폴더는 지금 있는 폴더 아래에
만들어집니다. 폴더 이름은 영문자, 숫자, `_`, `-`로 쓰며 10단계까지 들어갈 수 있습니다. **이 폴더
삭제**는 지금 있는 폴더를 그 안의 모든 폴더와 시크릿과 함께 지웁니다. 한 번 더 눌러 확인합니다.

## 환경 비교하기

**전체 보기**는 지금 있는 폴더를 모든 환경에서 한꺼번에 보여 줍니다. 키마다 한 행, 환경마다 한 열입니다.

![전체 보기: 환경별 각 키의 지문과 "일부 환경에 없음", "값이 다름" 표시](https://fi-workers-mocco-storage.s3.ap-northeast-2.amazonaws.com/pub/w/93e11fe8-0494-4e3d-b1cb-fe4dffd3ee7e/p/d64785b8-9a23-4fa1-a81d-550af30e203a/helpcenter/4824d162-1411-43ef-9f0a-63743d488037/secrets-overview.png)

- **없음**은 그 환경에 키가 없다는 뜻이고, **폴더 없음**은 폴더 자체가 없다는 뜻입니다. 어느 환경에든
  없는 키에는 **일부 환경에 없음**이 표시됩니다.
- 각 칸에는 값의 **지문**이 나옵니다. 지문은 프로젝트의 키로 값에서 계산한 짧은 코드입니다. 값이 같으면
  지문도 같으므로, 값이 모든 환경에서 같지 않은 키에는 **값이 다름**이 표시됩니다. 어떤 값도 드러나지
  않습니다. 지문만으로는 값에 대해 아무것도 알 수 없습니다.

전체 보기는 값을 표시하지 않으므로 감사 로그에 기록되지 않습니다.

## 다음 단계

[시크릿 관리하기](https://www.mocco.club/docs/ko/articles/yebc3m-manage-secrets): 시크릿을 추가, 표시, 복사, 변경, 삭제하고 `.env` 파일을
가져오거나 내보냅니다.
