कोड एक रहस्य है। हम इसे वैसे ही सुरक्षित रखते हैं।
एक बार का कोड उतना ही सुरक्षित है जितना उसे जनरेट, स्टोर और दर सीमित करने का तरीका। Bird Verify कोड को क्रिप्टोग्राफ़िक स्रोत से जनरेट करता है, केवल हैश स्टोर करता है, कॉन्स्टेंट टाइम में तुलना करता है, और भेजने तथा अनुमान दोनों को सीमित करता है — इसलिए लीक हुआ लॉग या ब्रूट-फ़ोर्स लूप हमलावर को कहीं नहीं ले जाता। फ़्रॉड स्कोरिंग इसी आधार पर आगे बनाई जा रही है।
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;
आपका खाता
पुष्टि करें कि यह आप हैं।
इस पर भेजा गया कोड दर्ज करें
+1 ••• ••• 4567उदाहरण सत्यापन कोड
सुरक्षा जो डिफ़ॉल्ट रूप से चालू है, कोई ऐड-ऑन नहीं।
Bird Verify API पर हर सत्यापन समान सुरक्षा के साथ आता है: कोड सर्वर-साइड जनरेट होता है, कभी लौटाया नहीं जाता, और केवल हैश के रूप में स्टोर किया जाता है; जाँच कॉन्स्टेंट टाइम में और सीमित प्रयास बजट के भीतर चलती है; और भेजने की सीमा प्रति प्राप्तकर्ता और प्रति वर्कस्पेस तय है। आपको इसे ऑप्ट-इन या कॉन्फ़िगर करने की ज़रूरत नहीं: API ऐसे ही काम करता है, चाहे आप इसे टू-फ़ैक्टर लॉगिन के रूप में चलाएँ या पासवर्डलेस साइन-इन के रूप में।
हर सत्यापन पर पाँच सुरक्षाएँ।
कोई सेटअप चरण नहीं, कोई ऐड-ऑन SKU नहीं।
- 01
क्रिप्टोग्राफिक जेनरेशन।
कोड एक क्रिप्टोग्राफ़िक रैंडम स्रोत से निकाले जाते हैं, पूरे कोड स्पेस में समान रूप से — किसी अनुमानित काउंटर या टाइमस्टैम्प से नहीं।
- 02
संग्रहण में हैश किए हुए, बाहर कभी प्लेनटेक्स्ट में नहीं।
हर कोड का केवल HMAC-SHA256 हैश संग्रहित होता है; प्लेनटेक्स्ट न कभी API द्वारा लौटाया जाता है, न आपके स्टैक या हमारे लॉग में लिखा जाता है।
- 03
कॉन्स्टेंट-टाइम तुलना।
सबमिट किए गए कोड की तुलना कॉन्स्टेंट टाइम में होती है, इसलिए हमलावर को जाँच में लगने वाले समय से कुछ भी पता नहीं चलता।
- 04
प्रयास लॉकआउट।
हर सत्र में जाँचों की एक सीमित संख्या होती है (डिफ़ॉल्ट 5)। सीमा पूरी होते ही सत्र विफल हो जाता है, इसलिए अनुमान लगाना अंतहीन नहीं चल सकता।
- 05
भेजने की सीमा।
प्रति-प्राप्तकर्ता भेजने की सीमा और दोबारा भेजने का कूलडाउन खर्च और दुरुपयोग की सतह दोनों को सीमित करता है — हर एक Retry-After के साथ 429 देता है।
अनुमान लगाने के मौके आपके उपयोगकर्ताओं से पहले खत्म हो जाते हैं।
गलत कोड बचे हुए प्रयासों की संख्या के साथ लौटता है, और बजट समाप्त होने पर सेशन फ़ेल हो जाता है — इसलिए ब्रूट-फ़ोर्स लूप कोड खोजने से बहुत पहले ही दीवार से टकराता है।
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 }जल्द आ रहा है: फ्रॉड सिग्नल और SMS-पंपिंग सुरक्षा।
Verify आज जो प्रति-भेजने का इतिहास रिकॉर्ड करता है, वह उस फ़्रॉड लेयर की नींव है जिसे हम अभी बना रहे हैं। यह उन्हीं create और check कॉल पर चलती है, इसलिए बाद में इसे अपनाना एक कॉन्फ़िग बदलाव है, री-इंटीग्रेशन नहीं।
Create पर रिस्क सिग्नल। सत्यापन पर डिवाइस, IP, और रिक्वेस्ट कॉन्टेक्स्ट पास करें — उच्च-जोखिम प्रयासों को कोड भेजने से पहले ही blocked परिणाम मिल जाता है, ताकि आप हमलावर को मैसेज भेजने का खर्च न उठाएँ।
SMS-पंपिंग और AIT सुरक्षा। प्रति-देश और प्रति-प्रीफ़िक्स भेजने की सीमा और प्रति-वर्कस्पेस खर्च सीमा उस कृत्रिम रूप से बढ़ाए गए ट्रैफ़िक हमले को रोकती है जो कैरियर रेवेन्यू शेयर के लिए OTP को प्रीमियम नंबर रेंज पर भेजता है।
जो पहले से मौजूद है, उसी पर बना है। रिस्क डिसीज़निंग उस प्रयास इतिहास को पढ़ती है जो Verify पहले दिन से रखता है, और blocked परिणाम पहले से स्टेटस मॉडल का हिस्सा है — इसलिए फ़्रॉड लेयर आपके इंटीग्रेशन को बदले बिना लागू हो जाती है।
Verify प्लेटफ़ॉर्म के बाकी हिस्से
एक API, कुंजियों का एक सेट। अन्य क्षमताएँ देखें।
बिना नियंत्रण खोए
स्केल करें।
टीमों को वर्कस्पेस में व्यवस्थित करें, API एक्सेस नियंत्रित करें, और ऑडिट लॉग से बदलावों को ट्रेस करें।
ऑडिट लॉग
प्रोडक्शन- वर्कस्पेस
- प्रोडक्शन
- संसाधन
- संदेश वितरण एजेंट
- पढ़ने की अनुमतिपढ़ने और लिखने की अनुमति