> ## Documentation Index
> Fetch the complete documentation index at: https://docs.caurisflux.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sécurité

> Bonnes pratiques pour sécuriser votre intégration

## Protection des clés API

### Variables d'environnement

```bash .env theme={null}
CAURIS_PUBLIC_KEY=pk_live_xxx
CAURIS_SECRET_KEY=sk_live_xxx
CAURIS_WEBHOOK_SECRET=whsec_xxx
```

<Warning>
  Ne jamais committer de clés dans le code source. Ajoutez `.env` dans `.gitignore`.
</Warning>

### Gestionnaires de secrets (production)

| Service               | Provider    |
| --------------------- | ----------- |
| AWS Secrets Manager   | AWS         |
| Azure Key Vault       | Azure       |
| Google Secret Manager | GCP         |
| HashiCorp Vault       | Multi-cloud |

### Rotation des clés

Planifiez une rotation tous les 90 jours :

1. Générez une nouvelle clé dans **Dashboard > Paramètres > Clés API**
2. Mettez à jour vos variables d'environnement
3. Déployez
4. Révoquez l'ancienne clé

## Backend

### HTTPS obligatoire

```nginx theme={null}
server {
    listen 443 ssl;
    server_name api.votresite.com;
    ssl_certificate /etc/ssl/certs/certificate.crt;
    ssl_certificate_key /etc/ssl/private/private.key;
}
```

### Clé secrète côté serveur uniquement

```javascript theme={null}
// Côté serveur uniquement
const apiKey = `${process.env.CAURIS_PUBLIC_KEY}:${process.env.CAURIS_SECRET_KEY}`;
```

<Warning>
  N'utilisez jamais `sk_*` dans du JavaScript navigateur ou une app mobile.
</Warning>

## Frontend

### Content Security Policy

```html theme={null}
<meta http-equiv="Content-Security-Policy"
  content="
    default-src 'self';
    script-src 'self' https://js.caurisflux.com;
    frame-src 'self' https://pay.caurisflux.com;
    connect-src 'self' https://prod-api.caurisflux.com;
  "
>
```

## Checklist

<Checklist>
  <Check>Clés API dans des variables d'environnement</Check>
  <Check>`.env` dans `.gitignore`</Check>
  <Check>HTTPS sur tous les endpoints</Check>
  <Check>Signature webhook vérifiée (voir guide Webhooks)</Check>
  <Check>Clé secrète uniquement côté serveur</Check>
  <Check>Rotation des clés planifiée</Check>
  <Check>Logs et alertes configurés</Check>
</Checklist>
