Kode adalah rahasia. Kami memperlakukannya demikian.
Kode sekali pakai hanya sebaik cara kode itu dibuat, disimpan, dan dibatasi lajunya. Bird Verify menghasilkan kode dari sumber kriptografis, menyimpan hanya hash-nya, membandingkan dalam waktu konstan, dan membatasi pengiriman maupun percobaan tebakan, sehingga log yang bocor atau serangan brute-force tidak memberi celah bagi penyerang. Penilaian risiko penipuan akan dibangun di atas dasar ini berikutnya.
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, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: userInput,
}).safe();
if (error) throw error;
Akun Anda
Konfirmasi identitas Anda.
Masukkan kode yang dikirim ke
+1 ••• ••• 4567Contoh kode verifikasi
Keamanan yang aktif secara default, bukan tambahan.
Setiap verifikasi pada Bird Verify API membawa perlindungan yang sama: kode dibuat di sisi server, tidak pernah dikembalikan, dan disimpan hanya sebagai hash; pemeriksaan berjalan dalam waktu konstan dengan batas percobaan yang tetap; dan pengiriman dibatasi per penerima dan per workspace. Anda tidak perlu mengaktifkan atau menyambungkan ini: begitulah cara API bekerja, baik Anda menggunakannya sebagai login dua faktor maupun login tanpa kata sandi.
Lima perlindungan pada setiap verifikasi.
Tanpa langkah pengaturan, tanpa add-on SKU.
- 01
Pembuatan kriptografis.
Kode diambil dari sumber acak kriptografis, tersebar merata di seluruh ruang kode, bukan dari penghitung atau timestamp yang dapat diprediksi.
- 02
Di-hash saat disimpan, tidak pernah dikirim keluar.
Hanya HMAC-SHA256 dari setiap kode yang disimpan; plaintext tidak pernah dikembalikan oleh API dan tidak pernah ditulis ke stack Anda maupun log kami.
- 03
Perbandingan waktu konstan.
Kode yang dikirimkan dibandingkan dalam waktu konstan, sehingga penyerang tidak mendapat informasi dari durasi pemeriksaan.
- 04
Penguncian percobaan.
Setiap sesi memiliki batas jumlah pemeriksaan (5 secara default). Setelah habis, sesi gagal, sehingga tebakan tidak bisa berjalan tanpa batas.
- 05
Batas pengiriman.
Batas pengiriman per penerima dan jeda pengiriman ulang membatasi biaya dan permukaan penyalahgunaan, masing-masing mengembalikan 429 dengan Retry-After.
Percobaan tebakan habis sebelum pengguna Anda kehabisan kesabaran.
Kode yang salah dikembalikan bersama sisa percobaan, dan sesi gagal setelah kuota habis, sehingga serangan brute-force menabrak tembok jauh sebelum menemukan kode.
const { data, error } = await bird.verify.verifications.check({
to: { phone_number: "+15551234567" },
code: guess,
}).safe();
if (error) throw error;
// wrong code, attempts left → { success: false, reason: "incorrect_code", attempts_remaining: 2 }
// budget spent, session done → { success: false, reason: "attempts_exhausted", attempts_remaining: null }Segera hadir: sinyal penipuan dan perlindungan SMS-pumping.
Riwayat per-pengiriman yang dicatat Verify saat ini adalah fondasi untuk lapisan anti-penipuan yang sedang kami bangun. Lapisan ini menggunakan panggilan create dan check yang sama, sehingga mengadopsinya nanti hanya perubahan konfigurasi, bukan integrasi ulang.
Sinyal risiko pada create. Kirim konteks perangkat, IP, dan permintaan pada verifikasi, dan percobaan berisiko tinggi mendapat hasil blocked sebelum kode dikirim, sehingga Anda tidak membayar untuk mengirim pesan ke penyerang.
Perlindungan SMS-pumping dan AIT. Batas pengiriman per negara dan per prefiks ditambah batas pengeluaran per workspace menghentikan serangan artificially-inflated-traffic yang mengarahkan OTP ke rentang nomor premium demi bagi hasil operator.
Dibangun di atas yang sudah ada. Keputusan risiko membaca riwayat percobaan yang disimpan Verify sejak hari pertama, dan hasil blocked sudah menjadi bagian dari model status, sehingga lapisan anti-penipuan hadir tanpa mengubah integrasi Anda.
Platform Verify lainnya
Satu API, satu set kunci. Jelajahi kemampuan lainnya.
Skalakan tanpa
kehilangan kendali.
Atur tim dalam workspace, kontrol akses API, dan lacak perubahan melalui log audit.
Log audit
Produksi- Workspace
- Produksi
- Sumber daya
- Agen pengiriman
- Akses bacaBaca & tulis