---
title: Cap (Captcha)
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, development, captcha, securite, anti-bot, self-hosted]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Development, https://github.com/tiagostudio/cap]
---
# đ» Cap (Captcha)
> **CAPTCHA open source auto-hébergé**, alternative à hCaptcha et Google reCAPTCHA, sans tracking, sans envoi de données à un tiers, sans dépendance cloud.
## đ Informations GĂ©nĂ©rales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [capjs.js.org](https://capjs.js.org/) |
| **GitHub** | [tiagostudio/cap](https://github.com/tiagostudio/cap) |
| **License** | Apache-2.0 |
| **Langage** | TypeScript (server) + JS/TS (client) |
| **Ătoiles GitHub** | 6 776 â |
| **Catégorie** | [[cat-development\|Development]] |
| **Note** | 100% gratuit et open source, **auto-hébergeable**, **RGPD-friendly** (pas de tracking Google), pas d'édition payante. |
## đ Description
**Cap** est un **CAPTCHA moderne, simple et open source**, conçu comme une alternative éthique et auto-hébergeable à hCaptcha et reCAPTCHA. Contrairement à ces services, Cap :
- **Ne tracke pas les utilisateurs** : pas de Google Analytics, pas de fingerprinting
- **Respecte le RGPD** par design
- **N'envoie pas les données** à un tiers : tout reste sur votre serveur
- **Propose plusieurs niveaux de difficulté** (challenge visuel, computation proof-of-work)
- **API simple** : un widget JS + un endpoint REST
- **Multi-tenant** : un seul serveur peut servir plusieurs sites
- **Themes** : clair, sombre, custom
**Comment ça marche** :
1. Le serveur Cap gĂ©nĂšre un challenge (image puzzle, PoWâŠ)
2. Le widget JS du client soumet la réponse
3. Le serveur vérifie et renvoie un token
4. L'app valide le token cÎté backend
**Types de challenges supportés** :
- **Image** : sélectionner les images qui correspondent (style hCaptcha)
- **Proof-of-Work** : calcul cryptographique (faible empreinte carbone)
- **Mode invisible** : détecte les bots sans interaction utilisateur
- **Token-based** : API REST pour intégration custom
**Différence avec reCAPTCHA/hCaptcha** : Cap ne vend **pas vos données utilisateurs**, ne dépend d'**aucune API tierce** et est **gratuit à l'infini**.
**Cas d'usage** :
- Formulaires de contact, login, inscription
- Protection contre le spam de commentaires
- Bot protection pour API
- **Sites RGPD-strict** (UE, données sensibles)
- **Auto-hébergement éthique**
## đ Installation
### Via Docker Compose (recommandé)
```yaml
# docker-compose.yml
version: '3.8'
services:
cap:
image: tiagostudio/cap:latest
container_name: cap
restart: unless-stopped
environment:
- PORT=3000
- CAP_ADMIN_PASSWORD=*** - CAP_ALLOWED_ORIGINS=https://example.com,https://app.example.com
volumes:
- cap-data:/app/data
labels:
- "traefik.enable=true"
- "traefik.http.routers.cap.rule=Host(`cap.example.com`)"
- "traefik.http.routers.cap.entrypoints=websecure"
- "traefik.http.services.cap.loadbalancer.server.port=3000"
networks:
- proxy
volumes:
cap-data:
networks:
proxy:
external: true
```
### Standalone (Node.js)
```bash
git clone https://github.com/tiagostudio/cap.git
cd cap
npm install
CAP_ADMIN_PASSWORD=*** npm start
```
### Intégration cÎté client (HTML)
```html