Anti-misbruik & codebeveiliging
In previewDe code is een geheim. Wij behandelen het als zodanig.
Een eenmalige code is maar zo goed als de manier waarop deze wordt gegenereerd, opgeslagen en rate-limited. Bird Verify genereert codes met een cryptografische bron, slaat alleen een hash op, vergelijkt in constante tijd en begrenst zowel verzendingen als pogingen — zodat een gelekt logbestand of een brute-force-aanval een aanvaller nergens brengt. Fraudescoring bouwt hier vervolgens op voort.
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
// Send the code, then check it by recipient.
await bird.verify.verifications.create({
to: { phone_number: "+15551234567" },
}).safe();
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
Beveiliging die standaard aan staat, geen add-on.
Elke verificatie op de Bird Verify API heeft dezelfde beveiligingen: de code wordt server-side gegenereerd, nooit geretourneerd en alleen als hash opgeslagen; controles draaien in constante tijd en tegen een begrensd pogingsbudget; en verzendingen worden begrensd per ontvanger en per workspace. U hoeft niets in te schakelen of te configureren: zo werkt de API, of u het nu gebruikt als tweefactorauthenticatie of wachtwoordloze aanmelding.
Vijf beschermingen bij elke verificatie.
Geen setupstap, geen add-on SKU.
- 01
Cryptografische generatie.
Codes worden gegenereerd uit een cryptografische willekeurige bron, uniform over de coderuimte, geen voorspelbare teller of tijdstempel.
- 02
Gehasht in rust, nooit via de API naar buiten.
Alleen een HMAC-SHA256 van elke code wordt opgeslagen; de leesbare tekst wordt nooit door de API geretourneerd en nooit naar uw stack of onze logs geschreven.
- 03
Constant-time vergelijking.
Ingediende codes worden in constante tijd vergeleken, zodat een aanvaller niets leert uit hoe lang een controle duurt.
- 04
Pogingvergrendeling.
Elke sessie heeft een begrensd aantal controles (standaard 5). Zodra deze op zijn, faalt de sessie — raden kan dus niet eindeloos doorgaan.
- 05
Verzendlimieten.
Een verzendlimiet per ontvanger en een herverzendings-cooldown begrenzen de kosten en het misbruikoppervlak — elk met een 429 en Retry-After.
Raadpogingen raken op vóór uw gebruikers.
Een verkeerde code komt terug als resultaat met het aantal resterende pogingen, en de sessie faalt zodra het budget op is — een brute-force-loop loopt tegen een muur in plaats van een open deur.
const { data } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: guess,
}).safe();
// wrong code, attempts left → { result: "invalid", attempts_remaining: 2 }
// budget spent, session done → { result: "failed", attempts_remaining: null }Binnenkort: fraudesignalen en SMS-pompbescherming.
De verzendgeschiedenis die Verify nu vastlegt, is de basis voor een fraudelaag die we momenteel bouwen. Deze maakt gebruik van dezelfde create- en check-calls, dus later adopteren is een configuratiewijziging, geen her-integratie.
Risicosignalen bij create. Stuur apparaat-, IP- en requestcontext mee bij een verificatie, en pogingen met hoog risico krijgen een geblokkeerde uitkomst voordat er ooit een code wordt verstuurd — zodat u niet betaalt om een aanvaller te berichten.
SMS-pomp- en AIT-bescherming. Verzendlimieten per land en per prefix plus een bestedingsplafond per workspace stoppen de kunstmatig-opgeblazen-verkeer-aanval die OTP's naar premiumnummerreeksen stuurt voor carrier-omzetdeling.
Gebouwd op wat er al is. Risicobeoordeling leest de pogingsgeschiedenis die Verify vanaf dag één bijhoudt, en de geblokkeerde uitkomst maakt al deel uit van het statusmodel — zodat de fraudelaag landt zonder uw integratie te hervormen.
Veelgestelde vragen over verificatiebeveiliging
Waar wordt de eenmalige code opgeslagen?
Hoe voorkomt u dat iemand de code brute-forcet?
Hoe zit het met SMS-pompen en kunstmatig opgeblazen verkeer?
Kosten deze beschermingen extra?
Van wie zien mijn gebruikers de code?
De rest van het Verify-platform
Eén API, één set sleutels. Ontdek de overige mogelijkheden.
Codes gegenereerd, opgeslagen en rate-limited zoals het hoort.
Beveiliging is ingebouwd in Bird Verify, niet erbovenop verkocht: de kanalen, de code en de limieten zitten in dezelfde twee endpoints.