ALTCHA est une solution open-source, auto-hébergeable et respectueuse de la vie privée, conçue comme alternative aux CAPTCHA traditionnels. Elle repose sur un mécanisme de Proof‑of‑Work (PoW), offrant une expérience sans friction et sans suivi utilisateur source github.
Conformité et accessibilité
- Conforme aux normes RGPD, HIPAA, CCPA, PIPEDA, LGPD, DPDPA, PIPL source altcha.
- Répond aux exigences WCAG 2.2 AA et European Accessibility Act (EAA) source github.
- Compatible avec les principales navigateurs modernes disposant de l’API Web Crypto .
Fonctionnalités principales
- PoW universel : vérification silencieuse côté client.
- Challenges basés sur code (v2 : image + audio) pour l’accessibilité github.com.
- Sans cookie ni fingerprinting, respect total de la vie privée github.com.
- Poids léger : ~29 kB gzippé vs ~270 kB de reCAPTCHA .
- i18n multilingue : support de plus de 48 langues, incluant les langues RTL github.com/altcha-org/altcha.
- ALTCHA Sentinel : couche anti‑spam additionnelle en auto‑hébergement github.com/altcha-org/altcha.
Tutoriel d’intégration étape par étape
1. Installation du widget client
npm install altchaOu via CDN :
<script async defer src="https://cdn.jsdelivr.net/gh/altcha-org/altcha@main/dist/altcha.min.js" type="module"></script>2. Ajout du widget dans votre formulaire
<form action="/submit" method="POST">
<!-- champs du formulaire -->
<altcha-widget challengeurl="https://votre-serveur/altcha/challenge"></altcha-widget>
<button type="submit">Envoyer</button>
</form>Attributs utiles :
challengeurl: URL de votre serveur générant le PoW.language,name,auto, etc.
3. Configuration du widget (facultative ou avancée)
Personnalisez via attributs HTML ou appel JS :
window.addEventListener('load', () => {
document.querySelector('altcha-widget').configure({
strings: { label: "Je ne suis pas un bot" },
floating: 'auto',
hidefooter: true
});
});Vous pouvez aussi modifier les styles CSS via des CSS variables .
4. Backend : générer et vérifier le challenge
ALTCHA propose des SDKs disponibles pour TypeScript, PHP, Go, Python, Java, Ruby, Elixir
Exemple en PHP (via altcha-org/altcha v1.1.2) :
use AltchaOrg\Altcha\Altcha;
use AltchaOrg\Altcha\ChallengeOptions;
$altcha = new Altcha('votre_cle_hmac');
$options = new ChallengeOptions(
maxNumber: 50000,
expires: (new DateTimeImmutable())->add(new DateInterval('PT10S'))
);
$challenge = $altcha->createChallenge($options);
// Envoyer challenge (challenge, salt, signature) au client
// au retour
$valid = $altcha->verifySolution($_POST['altcha'], true);5. (Optionnel) AMÉLIORER avec Sentinel
ALTCHA Sentinel est un service anti‑spam auto‑hébergé complet (analyse ML, détection TOR/proxy, rate‑limiting…) . Il remplace les étapes de PoW + code‑challenge par une protection adaptative renforcée.
Comparatif rapide
| Critère | ALTCHA Open‑Source | reCAPTCHA / hCaptcha |
|---|---|---|
| Poids widget (gz) | ~29 kB | ~270 kB |
| Cookies/tracking | ❌ Aucun | ✔️ Oui |
| Accessibilité | WCAG AA, audio | Limitée |
| Multilingue | 48+ langues | Limité |
| Auto‑hébergement | ✔️ | ❌ SaaS externe |
Conclusion
ALTCHA est une solution moderne, légère et respectueuse des utilisateurs : elle combine sécurité, vie privée et accessibilité. L’intégration est simple côté client (widget) et backend (SDKs variés). Pour les projets nécessitant une protection renforcée ou anti‑spam complète, Sentinel offre une couche avancée à déployer facilement.
