AubeCaptcha

Prouver qu'un visiteur est humain, sans le surveiller.

AubeCaptcha protège vos formulaires contre les robots avec un widget embeddable et une API de vérification, comme les grands services américains, mais hébergé au Québec par L'Aube Étoilée : aucun cookie, aucun profilage, aucune donnée revendue.

Défi invisible par preuve de travail, ou code image généré localement. Adresses IP tronquées avant journalisation. Conforme à la Loi 25.

Démonstration

Le widget ci-contre est branché sur un site de démonstration réel. Cochez la case : votre navigateur résout un petit défi cryptographique, puis le formulaire reçoit un jeton. Le bouton « Envoyer » fait vérifier ce jeton par le serveur, exactement comme le ferait votre application.

  • Aucune image de passages piétons à cliquer.
  • Aucun cookie déposé, aucune requête vers un tiers.
  • Moins d'une seconde sur un téléphone récent.

Intégration en trois étapes

  1. Créez votre site dans le tableau de bord : vous recevez une clé publique (sitekey) et un secret. Déclarez-y vos domaines : la clé n'est plus utilisable ailleurs.
  2. Posez le widget dans votre formulaire :
    <script src="https://captcha.aubeetoilee.com/widget.js" async defer></script>
    
    <form method="POST" action="/votre-traitement">
      ...
      <div class="aubecaptcha" data-sitekey="VOTRE_SITEKEY"></div>
      <button>Envoyer</button>
    </form>
    Le widget ajoute un champ caché aubecaptcha-token au formulaire une fois le défi réussi.
  3. Vérifiez côté serveur à la réception du formulaire :
    import requests
    
    r = requests.post("https://captcha.aubeetoilee.com/api/verify", json={
        "secret": "VOTRE_SECRET",
        "token": request.form["aubecaptcha-token"],
    }, timeout=10)
    if not r.json().get("success"):
        abort(400, "Vérification anti-robot refusée")
    Chaque jeton est à usage unique et expire après cinq minutes. La réponse porte aussi hostname, le domaine d'où le défi a réellement été résolu.

Référence de l'API

Point d'accèsRôle
POST /api/challenge Crée un défi pour une sitekey. Utilisé par le widget ; corps {"sitekey": "..."}.
POST /api/answer Soumet la réponse au défi (nonce de preuve de travail ou texte du code image). Retourne le jeton en cas de succès.
POST /api/verify Vérification serveur-à-serveur du jeton avec votre secret. Accepte aussi les champs secret / response en formulaire, comme reCAPTCHA, pour migrer sans changer votre code.

Deux modes de défi par site : preuve de travail (invisible, recommandé) ou code image (visible, plus strict). Le mode se choisit dans le tableau de bord.