# Environment & Security Spec

## 目標

定義 local / staging / production 的環境設定、token 策略與安全基線。

## 環境分層

### local

- 本機開發與 smoke 驗證
- 允許 local CORS

### staging

- 全鏈路驗證環境
- 使用獨立 token 與資料集

### production

- 正式流量
- 嚴格 CORS、權限與監控

## FastAPI 必備環境變數

- `APP_NAME`
- `APP_VERSION`
- `API_PREFIX`
- `DATABASE_URL`
- `DIRECTUS_BASE_URL`
- `DIRECTUS_ADMIN_TOKEN`
- `DIRECTUS_TIMEOUT`
- `CORS_ALLOWED_ORIGINS`
- `LOG_LEVEL`

## Directus Token 策略

- admin read 優先使用使用者 bearer token
- editor/system write 使用 service token
- runtime 不依賴商家登入 token

## 權限檢查基線

- 未登入 -> 401
- 已登入但無權限 -> 403
- 已登入且有權限 -> 200

## 上線前安全檢查

- secrets 正確注入且不落在 repo
- CORS 與 allowed origins 對齊實際域名
- API 審計與錯誤日誌可追蹤
- rollback 路徑可執行

