Aller au contenu

Webhooks

Les événements d'audit, livrés là où le travail se fait

Indiquez un endpoint à Ironfang Audit et il envoie des événements signés quand un audit se termine, qu'une page change, qu'une règle commence à échouer ou qu'une preuve est sur le point d'expirer. Relancé pendant deux jours, avec un historique des livraisons que vous pouvez consulter.

Créer un compte gratuitLire la documentation de l'API

  • Signé en HMAC-SHA256
  • Huit tentatives sur deux jours
  • Historique des livraisons
  • Secrets renouvelables
POST /your/endpoint
Auditwolf-Event-Id:   ev_01HZY7F8A2
Auditwolf-Timestamp:  1756480271
Auditwolf-Signature:  v1=8a13c09e4f22...
User-Agent:           Auditwolf-Webhooks/1

{
  "type": "compliance.failed",
  "audit_id": "aw-2841",
  "site": "acme.example",
  "pages": 128,
  "failing_rules": 1
}

Un seul endpoint

Personne ne se connecte à un outil de conformité juste pour vérifier

Un constat qui reste dans un tableau de bord est un constat que quelqu'un doit penser à aller consulter. L'audit qui compte est généralement celui qui a tourné pendant que tout le monde était occupé à autre chose.

Un webhook place l'événement là où le travail se fait déjà : le gestionnaire de tickets, le canal de discussion, le pipeline de déploiement. Ironfang Audit le signe pour que vous puissiez vous y fier, continue de réessayer tant que votre endpoint est indisponible et consigne ce qui s'est passé dans tous les cas.

// verify the signature before trusting the body
const expected =
  'v1=' + crypto.createHmac('sha256', secret)
    .update(timestamp + '.' + rawBody)
    .digest('hex');

if (!crypto.timingSafeEqual(
      Buffer.from(expected), Buffer.from(received))) {
  return res.status(400).end();
}

Fonctionnalités

Ce que la livraison garantit

Ce qui décide si vous pouvez bâtir dessus : comment c'est signé, avec quelle insistance la livraison est tentée et ce que vous pouvez voir ensuite.

Signé et vérifiable

HMAC-SHA256 sur l'horodatage et le corps brut, envoyé sous la forme v1=<hex>. Le préfixe de version laisse la place de changer de schéma sans casser les récepteurs existants.

Relancé pendant deux jours

Une minute, cinq, trente, deux heures, huit, puis un jour, deux fois. Huit tentatives, assez pour survivre à une panne que quelqu'un corrige le lendemain matin.

Ralentit quand vous le demandez

Un Retry-After dans votre réponse est respecté jusqu'à un plafond, pour qu'un endpoint sous pression puisse ralentir les relances plutôt que de les encaisser.

Des agrégats, pas un déluge

Un événement par audit, avec des compteurs et un lien, plutôt qu'un par page. Un audit de cent pages donne une seule livraison.

Un historique des livraisons

Statut, tentatives et extrait de votre propre réponse, conservés par endpoint, avec relance manuelle une fois que vous avez réparé ce qui était cassé.

Des secrets renouvelables

Les secrets sont affichés une seule fois et stockés scellés, et peuvent être renouvelés depuis l'API sans recréer l'endpoint.

Cas d'usage

Ce que les équipes branchent

Chacun de ces cas tient en un événement et quelques lignes à l'autre bout.

Ouvrir un ticket en cas d'échec

Transformez compliance.failed en ticket dans l'outil que votre équipe suit déjà.

Publier dans un canal

Envoyez change.detected là où les responsables de la page le verront vraiment.

Conditionner un déploiement

Attendez audit.completed et lisez le résumé de conformité avant de promouvoir une version.

Archiver à la fin de l'audit

Récupérez le paquet de preuves dès que l'audit est scellé, plutôt que de l'interroger en boucle.

Surveiller votre propre quota

Réagissez à quota.threshold_reached avant qu'un audit soit bloqué, pas après.

Ne jamais perdre une preuve

Utilisez evidence.expiring pour exporter un paquet avant la fin de sa durée de conservation.

Événements

Tout ce qu'Ironfang Audit vous signalera

Abonnez un endpoint aux événements qui vous intéressent. Chacun est un agrégat pour l'audit plutôt qu'un message par page.

  • audit.startedUn audit a commencé.
  • audit.completedToutes les pages sont terminées et la preuve est scellée.
  • audit.partialL'audit s'est terminé avec des pages incomplètes.
  • audit.failedL'audit n'a pas pu aboutir.
  • change.detectedUne page a changé plus que ne le permet la politique de son moniteur.
  • compliance.failedUne règle qui réussissait échoue désormais.
  • monitor.skippedUn créneau planifié a été sauté, avec sa raison.
  • quota.threshold_reachedL'utilisation des crédits a franchi un seuil de votre offre.
  • audit.quota_blockedUn audit que l'offre ne pouvait pas couvrir ; rien n'a été capturé.
  • evidence.expiringDes preuves hébergées expirent bientôt et aucun export n'en détient de copie.

Vous préférez la preuve elle-même à une notification ? Consultez l'export vers votre propre stockage.

Tarifs

Les webhooks sont inclus dans toutes les offres

Aucun frais par livraison et aucune option payante. Vous payez les pages que vous capturez ; récupérer les résultats fait partie du produit. L'intégrité des preuves et le comportement de livraison sont identiques dans l'offre gratuite et dans chaque offre payante.

Voir les tarifs d'Ironfang AuditComparer avec d'autres fournisseurs

Questions

Avant de vous lancer

Les détails qui décident si la solution vous convient, sans lire d'abord toute la référence.

Comment vérifier qu'une livraison vient d'Ironfang Audit ?
Chaque requête porte un en-tête Auditwolf-Signature de la forme v1=<hex>. Il s'agit d'un HMAC-SHA256 calculé sur l'horodatage, un point et le corps brut de la requête, avec le secret de votre endpoint pour clé. Comparez-le avec une vérification en temps constant, et rejetez un horodatage trop ancien pour correspondre à l'une de vos livraisons.
Que se passe-t-il si mon endpoint est indisponible ?
La livraison est relancée selon un barème fixe : une minute, cinq minutes, trente minutes, deux heures, huit heures, puis un jour, deux fois, soit huit tentatives sur environ deux jours. C'est assez long pour que quelqu'un qui s'en aperçoit le matin puisse corriger le problème.
Puis-je demander des relances plus espacées ?
Oui. Un en-tête Retry-After dans votre réponse est respecté, jusqu'à un plafond, pour qu'un endpoint sous charge puisse repousser la tentative suivante plutôt que d'être submergé.
Qu'est-ce qui compte comme une livraison réussie ?
Tout code 2xx. Tout le reste est un échec, et le début du corps de votre réponse est conservé avec l'enregistrement de la livraison, pour que vous voyiez ce que votre endpoint a réellement répondu en la rejetant.
Vais-je recevoir un webhook par page ?
Non, et c'est voulu. Les événements sont des agrégats : un par audit plutôt qu'un par page, avec des compteurs et un lien vers le détail. Un audit de cent pages donne une livraison, pas cent.
Comment renouveler un secret sans manquer de livraisons ?
Renouvelez-le depuis l'API quand vous en avez besoin. Le secret n'est affiché qu'une fois, à sa création, puis stocké scellé : traitez-le comme n'importe quel autre identifiant et gardez votre propre copie au moment où vous le créez.
Puis-je voir ce qui a été livré ?
Oui. Chaque endpoint conserve un historique des livraisons avec le statut, l'extrait de réponse et les tentatives, et une livraison peut être relancée manuellement depuis l'API.

Moins à exploiter. Plus à livrer.

Branchez votre premier endpoint

Créez un compte, ajoutez un site et pointez un endpoint dessus. L'audit qui déclenche le premier événement est couvert par vos crédits gratuits.

Les webhooks sont inclus dans toutes les offres, sans frais par livraison et sans carte bancaire pour commencer. La création de compte est pour l'instant en anglais.