शुरुआत करें
यह गाइड आपको कुछ ही मिनटों में अपने वेब एप्लिकेशन में Noxtica जोड़ने में मदद करेगी।
पूर्वापेक्षाएँ
- एक Noxtica अकाउंट (contact के ज़रिए एक्सेस का अनुरोध करें)
- आपकी साइट की (अकाउंट सेटअप के बाद दी जाती है)
त्वरित इंटीग्रेशन
अकाउंट सेट होने और साइट की मिलने के बाद, हमारा कलेक्टर अपने HTML में जोड़ें — बस इतना ही इंस्टॉलेशन है।
स्वचालित संग्रह (अनुशंसित)
शुरुआत करने का सबसे सरल तरीका है Noxtica को रन-वन्स मोड में खुद चलने देना:
<script
src="https://collect.noxtica.com/collector/noxtica.js"
data-site-key="pk_prod_your_site_key_here"
data-auto-init
data-auto-check-once
async
></script>
यह करेगा:
- पहली विज़िट पर विज़िटर का मूल्यांकन
- कैश विंडो के भीतर दोबारा आने पर वही परिणाम इस्तेमाल करें (डिफ़ॉल्ट: 7 दिन)
- पूरा मूल्यांकन दोबारा किए बिना वापसी विज़िट चुपचाप रिकॉर्ड करें
- खुले टैब में एक साथ संग्रह करने से बचने के लिए टैब के बीच तालमेल
परिणाम इस तरह उपलब्ध होते हैं:
// Listen for results
document.addEventListener('noxtica:collected', function (e) {
console.log('Fingerprint collected:', e.detail);
console.log('Risk score:', e.detail.score);
console.log('Risk level:', e.detail.risk_level);
});
// Or access directly after collection
console.log(window.noxticaResult);
मैन्युअल संग्रह
अधिक नियंत्रण के लिए JavaScript API का उपयोग करें:
<script src="https://collect.noxtica.com/collector/noxtica.js"></script>
<script>
// Create a client with your Site Key
const client = NoxticaCollector.createClient({
siteKey: 'pk_prod_your_site_key_here',
});
// Collect and submit in one call
client.collectAndSubmit().then((result) => {
console.log('Risk score:', result.score);
console.log('Risk level:', result.risk_level);
console.log('Flags:', result.flags);
});
</script>
checkOnce() के साथ स्मार्ट संग्रह
सबसे हल्के फुटप्रिंट के लिए checkOnce() का उपयोग करें — यह आपके सर्वर पर कॉन्फ़िगर किए संग्रह अंतराल का सम्मान करता है, इसलिए विज़िटरों का मूल्यांकन ज़रूरत से ज़्यादा बार नहीं होता:
const client = NoxticaCollector.createClient({
siteKey: 'pk_prod_your_site_key_here',
});
// Only collects if outside the check interval window (default: 7 days)
// Otherwise records a visit and returns cached result
const result = await client.checkOnce();
if (result.fromCache) {
console.log('Using cached result, next collection in:', result.nextSubmitIn, 'days');
} else {
console.log('Fresh collection submitted');
}
console.log('Risk level:', result.risk_level);
प्रदर्शन और साइट पर असर
कलेक्टर पेज लोड और यूज़र-दृश्यमान लेटेंसी पर न्यूनतम असर के लिए बना है:
| मेट्रिक | मान |
|---|---|
| Initial script size | ~167 KB minified, ~55 KB brotli |
| Time to collect (median, fp) | <50 ms on modern desktop / <120 ms on mid-tier phones |
| Time to risk-scored response | <150 ms median (collector edge → API edge) |
| Cached visit (post-first-load) | <10 ms (no fingerprinting work; just a beacon) |
| Main-thread blocking | None — collection runs in async chunks |
हम इसे हल्का कैसे रखते हैं:
asyncscript attribute — कलेक्टर पृष्ठभूमि में लोड होता है और पेज को कभी दृश्यमान या इंटरेक्टिव होने से नहीं रोकता।- Run-once mode (
data-auto-check-once) — पहले मूल्यांकन के बाद, कैश विंडो के भीतर दोबारा आने पर केवल एक छोटा विज़िट पिंग (~150 bytes) भेजा जाता है। - Cross-tab coordination — कई खुले टैब एक ही मूल्यांकन में समेट जाते हैं।
- Cached after first load — छेड़छाड़-रोधी KHAN VM ब्राउज़र द्वारा कैश हो जाता है, इसलिए बाद की विज़िट पर तुरंत लोड होता है।
- Background processing जहाँ समर्थित हो, ताकि काम मेन थ्रेड से दूर रहे और पेज रेस्पॉन्सिव रहे।
अगर SDK जोड़ने के बाद धीमापन दिखे, तो await client.collectAndSubmit({ telemetry: true }) से प्रोफ़ाइल कैप्चर करें — लौटाए गए result.telemetry में टाइमिंग ब्रेकडाउन होगा।
सैंडबॉक्स बनाम प्रोडक्शन
आपके पास दो साइट की होंगी: एक डेवलपमेंट और स्टेजिंग के लिए, एक प्रोडक्शन के लिए। हर एक अपनी नीतियों के तहत चलती है और डेटा पूरी तरह अलग रखती है।
| पहलू | Sandbox (pk_sand_*) | Production (pk_prod_*) |
|---|---|---|
| Site Key prefix | pk_sand_ | pk_prod_ |
| Origin allowlist | Localhost + your staging origins | Strict — your registered origins only |
| Rate limit | Generous (~1000/min/IP) | Per-plan limits enforced |
| Risk scoring policy | Permissive — minimum bot blocking | Production policies applied |
| Data retention | 7 days | Per-tenant config (default 90 days) |
| Audit log retention | 7 days | Per-tenant config (default 90 days) |
| Step-up MFA | Optional | Required for destructive ops |
हमेशा प्रति एन्वायरनमेंट साइट की बदलें। प्रोडक्शन ट्रैफ़िक में pk_sand_* की कभी इस्तेमाल न करें — सैंडबॉक्स डेटा आपके प्रोडक्शन डैशबोर्ड में नहीं दिखेगा और जोखिम स्कोरिंग बहुत ढीली होगी। इसी तरह, डेवलपमेंट में pk_prod_* की इस्तेमाल करने से प्रोडक्शन रेट-लिमिट बजट जलेगा।
एक सामान्य पैटर्न:
<script>
// Pick the key by hostname; fall back to sandbox in dev.
const KEY = location.hostname === 'www.example.com' ? 'pk_prod_REPLACE_ME' : 'pk_sand_REPLACE_ME';
const s = document.createElement('script');
s.src = 'https://collect.noxtica.com/collector/noxtica.js';
s.async = true;
s.dataset.siteKey = KEY;
s.dataset.autoInit = '';
s.dataset.autoCheckOnce = '';
document.head.appendChild(s);
</script>
टैग मैनेजर संगतता
कलेक्टर Google Tag Manager, Adobe Launch, Tealium, और Segment के अंदर काम करता है, लेकिन कुछ बातें ध्यान में रखें:
अनुशंसित (पसंदीदा): स्क्रिप्ट को सीधे अपने HTML में जोड़ें, </body> के ठीक पहले या <head> में async के साथ। जितनी जल्दी शुरू होगी, उतना बेहतर — विज़िटर के इंटरेक्ट करने से पहले ही तैयार रहेगा।
टैग मैनेजर — काम करता है, कुछ बातों के साथ:
- ✅ अधिकांश आधुनिक टैग मैनेजर (GTM Custom HTML, Adobe Launch Custom Code, Segment Custom Source) कलेक्टर सफलतापूर्वक लोड करते हैं।
- ⚠️ कंसेंट गेट जो विज़िटर की स्वीकृति तक स्क्रिप्ट को रोकते हैं, पहले मूल्यांकन में देरी करेंगे — आमतौर पर कंसेंट बैनर बंद होने तक कुछ नहीं चलता। यह सही व्यवहार है; बस जान लें कि इससे आपके “टाइम-टू-डिसिशन” मेट्रिक्स प्रभावित हो सकते हैं।
- ⚠️ कुछ पुराने टैग मैनेजर कस्टम
data-*एट्रिब्यूट गिरा देते हैं। अगरdata-site-keyस्क्रिप्ट टैग तक नहीं पहुँचती, तो auto-init शुरू नहीं होगा। इसके बजाय खुद कोड में सेट करें:NoxticaCollector.createClient({ siteKey: 'pk_prod_...' }).checkOnce(); - ❌ कुछ भारी सैंडबॉक्स वाले टैग कंटेनर (दुर्लभ) छेड़छाड़-रोधी रनटाइम को शुरू होने से रोकते हैं। SDK हल्के संग्रह के साथ काम करता रहता है और कंसोल में चेतावनी लॉग करता है।
अगर टैग मैनेजर के ज़रिए इंटीग्रेट करना ज़रूरी हो, तो Noxtica टैग को DOM Ready की बजाय All Pages — Window Loaded (या समकक्ष) पर फ़ायर करने के लिए कॉन्फ़िगर करें — इससे यह सुनिश्चित होता है कि कुछ भी चलने से पहले कंसेंट स्थिति तय हो।
Content Security Policy
अगर आपकी साइट content-security-policy का उपयोग करती है, तो आपको Noxtica को लोड होने, उसका छेड़छाड़-रोधी रनटाइम (KHAN VM) चलाने, और हमारे API से बात करने देना होगा। नीचे दिया उदाहरण तीनों को कवर करता है:
Content-Security-Policy:
default-src 'self';
script-src 'self' 'wasm-unsafe-eval' https://collect.noxtica.com;
connect-src 'self' https://collect.noxtica.com;
अगर नीति में 'wasm-unsafe-eval' टोकन नहीं है, तो ब्राउज़र छेड़छाड़-रोधी रनटाइम को ब्लॉक कर देगा और कंसोल में एक संबंधित चेतावनी दिखेगी। Noxtica काम करता रहता है — यह हल्के संग्रह पर वापस जाता है — लेकिन कमज़ोर छेड़छाड़ सुरक्षा के साथ। ऊपर दिया टोकन जोड़ने से पूरा अनुभव बहाल होता है।
साइट की
आपकी साइट की (pk_...) एक सार्वजनिक पहचानकर्ता है जो आपके डोमेन से अनुरोधों को प्रमाणित करती है। Backoffice में आप जो भी डोमेन जोड़ते हैं, उसे एक अनूठी साइट की मिलती है।
ज़रूरी बातें:
- साइट की सार्वजनिक हैं और आपके HTML में सुरक्षित रूप से डाली जा सकती हैं
- हर साइट की एक विशिष्ट ऑरिजिन से जुड़ी होती है (जैसे
https://example.com) - API उन अनुरोधों को अस्वीकार कर देगा जहाँ ऑरिजिन साइट की के पंजीकृत डोमेन से मेल नहीं खाता
कॉन्फ़िगरेशन विकल्प
const client = NoxticaCollector.createClient({
// Your Site Key (required)
siteKey: 'pk_prod_your_site_key_here',
// API endpoint (defaults to production)
apiUrl: 'https://collect.noxtica.com',
// Collection mode: 'max' (default), 'standard', or 'minimal'
// Omit to use max mode (recommended)
// mode: 'standard', // Uncomment to opt out of max-only signals
});
संग्रह मोड
| मोड | सिग्नल | सबसे उपयुक्त |
|---|---|---|
minimal | A small core set of signals | सबसे तेज़ संग्रह, सबसे हल्का फुटप्रिंट |
standard | A broad set of signals | वे साइटें जो हल्के सिग्नल सेट पसंद करती हैं |
max | The full set of signals | अधिकतम सटीकता (डिफ़ॉल्ट) |
रिस्पॉन्स फ़ॉर्मेट
संग्रह और सबमिट के बाद, आपको मिलता है:
{
"success": true,
"fingerprintId": "abc123...",
"score": 15,
"risk_level": "minimal",
"confidence": 0.5,
"flags": [],
"details": {
"summary": "Detected 0 risk indicator(s)."
}
}
जोखिम स्तर
| स्कोर | स्तर | मतलब |
|---|---|---|
| 0-19 | minimal | बहुत कम जोखिम, संभवतः वैध |
| 20-39 | low | कम जोखिम, छोटी विसंगतियाँ |
| 40-59 | medium | मध्यम जोखिम, कुछ संकेत |
| 60-79 | high | उच्च जोखिम, संभावित ऑटोमेशन |
| 80-100 | critical | बहुत उच्च जोखिम, बॉट की पुष्टि |
प्रमाणीकरण
SDK हर विज़िट को अल्पकालिक, अपने आप बदलने वाले क्रेडेंशियल से प्रमाणित करता है जो आपकी साइट की से जुड़े होते हैं। यह उन्हें माँगता है, रीफ़्रेश करता है, और हर सबमिशन से जोड़ता है।
आपको इसे मैन्युअल रूप से मैनेज नहीं करना — SDK अपने आप सब संभाल लेता है।
ऑनबोर्डिंग प्रक्रिया
- एक्सेस का अनुरोध करें: डेमो के लिए या शुरुआत के लिए हमसे संपर्क करें
- अकाउंट सेटअप: हम प्लेटफ़ॉर्म में आपका टेनेंट अकाउंट बनाते हैं
- डोमेन जोड़ें: Backoffice में लॉग इन करें, Domains पर जाएँ, और अपने ऑरिजिन जोड़ें
- साइट की कॉपी करें: हर डोमेन को एक अनूठी साइट की मिलती है
- इंटीग्रेट करें: अपनी साइट की के साथ स्क्रिप्ट को अपने पेजों में जोड़ें
- मॉनिटर करें: Backoffice डैशबोर्ड में फिंगरप्रिंट और एनालिटिक्स देखें
कई डोमेन मैनेज करना
Noxtica प्रति अकाउंट कई डोमेन का समर्थन करता है:
- Production:
https://www.yoursite.com - Staging:
https://staging.yoursite.com - Mobile:
https://m.yoursite.com
हर डोमेन की अपनी साइट की है। आप कर सकते हैं:
- की दोबारा बनाए बिना डोमेन सक्षम/अक्षम करें
- समझौता होने पर साइट की बदलें
- डोमेन के हिसाब से फ़िल्टर किए एनालिटिक्स देखें
SDK संस्करण
वर्तमान SDK संस्करण: 3.3.0 (Schema: 2026-05-24)
3.3.0 में क्या नया है
- हल्के व्यवहारगत सिग्नल (हमेशा चालू) — सरल टाइमिंग संकेत जैसे सत्र कितना लंबा चला और विज़िटर ने पहली बार कितनी जल्दी इंटरेक्ट किया। कोई बायोमेट्रिक डेटा नहीं, और कोई एंड-यूज़र सहमति की ज़रूरत नहीं।
- व्यवहारगत बायोमेट्रिक्स (ऑप्ट-इन) — जब आप Backoffice → Settings → Behavioral Biometrics में इसे चालू करते हैं, तो Noxtica माउस मूवमेंट की लय, क्लिक टाइमिंग, और स्क्रॉलिंग भी देखता है। यह सख्त प्राइवेसी नियमन के तहत बायोमेट्रिक डेटा माना जाता है, इसलिए एंड-यूज़र की स्पष्ट सहमति ज़रूरी है। नीचे Behavioral Biometrics देखें।
- Apple Pay consistency check — यह पुष्टि करता है कि iPhone होने का दावा करने वाला डिवाइस वाकई iPhone जैसा व्यवहार करता है, एक सामान्य स्पूफिंग ट्रिक को पकड़ता है।
- Network-fingerprint matching — सामान्य ऑटोमेशन टूल के विशिष्ट कनेक्शन पैटर्न को पहचानता है, ताकि स्क्रिप्ट और बॉट का ट्रैफ़िक अलग दिखे, भले ही ब्राउज़र विश्वसनीय लगे।
- IP reputation — खराब प्रतिष्ठा वाले नेटवर्क से आने वाले विज़िटरों को चिह्नित करता है, आपकी पसंद की थ्रेट-इंटेलिजेंस फ़ीड जोड़ने का विकल्प भी है।
व्यवहारगत बायोमेट्रिक्स (वैकल्पिक, ऑप्ट-इन)
Noxtica यह भी अध्ययन कर सकता है कि कोई माउस, क्लिक, और स्क्रॉल कैसे करता है — उसकी लय। यह एक ऑप्ट-इन फ़ीचर है, डिफ़ॉल्ट रूप से बंद।
ऑप्ट-इन क्यों? इस तरह का व्यवहारगत डेटा सख्त प्राइवेसी नियमन के तहत संवेदनशील व्यक्तिगत डेटा माना जाता है, इसलिए इसे कैप्चर करने के लिए आपके एंड-यूज़र की स्पष्ट सहमति ज़रूरी है। हम इसे ऑप्ट-इन रखते हैं ताकि आप नियंत्रित करें कि यह कब और कैसे उपयोग होता है।
सक्षम करने के लिए:
- Backoffice → Settings → Behavioral Biometrics में लॉग इन करें
- अपनी प्राइवेसी या कानूनी टीम के साथ अनुपालन नोटिस की समीक्षा करें
- इस कैप्चर का खुलासा करने के लिए अपनी प्राइवेसी पॉलिसी और कंसेंट बैनर अपडेट करें
- फ़ीचर चालू करें
सक्षम होने पर, Noxtica स्वचालित रूप से भविष्य के मूल्यांकन में इन व्यवहारगत सिग्नल को शामिल करता है, और आपका डैशबोर्ड प्रति डोमेन परिणामी व्यवहारगत स्कोर दिखाता है।
अगले चरण
- फिंगरप्रिंटिंग को काम करते देखने के लिए लाइव डेमो आज़माएँ
- सर्वर-साइड लुकअप के लिए Backend Integration गाइड पढ़ें
- संग्रहीत डेटा एक्सप्लोर करने के लिए डैशबोर्ड देखें