ALTCHA : CAPTCHA nouvelle génération

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 altcha

Ou 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, audioLimitée
Multilingue48+ languesLimité
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.