सुरक्षा

हमारा सुरक्षा मॉडल एक वाक्य में: सर्वर पर हमला करने के लिए कुछ है ही नहीं। नीचे दी गई हर बात आपके DevTools से सत्यापित की जा सकती है।

आर्किटेक्चर

Abundera QR एक स्थैतिक सिंगल-पेज एप्लिकेशन है जो Cloudflare Pages से परोसा जाता है। कोई एप्लिकेशन सर्वर नहीं, कोई डेटाबेस नहीं, कोई यूज़र अकाउंट नहीं, कोई प्रमाणीकरण नहीं, कोई API एंडपॉइंट नहीं, और कोई बैकएंड कोड पथ नहीं है जो उपयोगकर्ता डेटा को संसाधित करे। हर QR जनरेशन, एन्कोडिंग, स्कैनिंग और रेंडरिंग ऑपरेशन पूरी तरह आपके ब्राउज़र के अंदर चलता है।

खतरे का मॉडल

चूंकि हम कोई उपयोगकर्ता डेटा एकत्र, संग्रहीत या प्रसारित नहीं करते, सबसे सामान्य वेब-ऐप खतरे, क्रेडेंशियल चोरी, डेटाबेस उल्लंघन, सेशन हाइजैकिंग, सर्वर-साइड इंजेक्शन, लागू नहीं होते। शेष हमला सतह हमारे मूल स्रोत से परोसा जाने वाला स्थैतिक एसेट बंडल (HTML, CSS, JavaScript) है। हम यह मानकर डिज़ाइन करते हैं:

कंटेंट सिक्योरिटी पॉलिसी, प्रत्येक निर्देश के अनुसार

वर्तमान नीति (किसी भी अनुरोध के लिए Response headers में सत्यापित करें):

Content-Security-Policy:
  default-src 'self';
  script-src 'self' 'wasm-unsafe-eval';
  worker-src 'self' blob:;
  style-src 'self' 'unsafe-inline';
  font-src 'self';
  img-src 'self' data: blob: https:;
  connect-src 'self' https:;
  frame-ancestors 'none';
  base-uri 'self';
  form-action 'self'

प्रत्येक निर्देश हमें क्या करने देता है और कहाँ समझौता करता है:

/bio/* (उपयोगकर्ता द्वारा दिए गए अवतार के लिए img-src में ढील) और /embed/* (जानबूझकर embedding के लिए frame-ancestors में ढील) पर अलग-अलग CSP नीतियाँ लागू होती हैं। दोनों site/_headers में documented हैं।

ट्रांसपोर्ट + फ्रेमिंग हेडर

Service Worker

हमारा Service Worker (site/sw.js) केवल same-origin एसेट cache करता है। fetch handler स्पष्ट रूप से cross-origin अनुरोधों और गैर-GET methods को अस्वीकार करता है, आप GitHub पर logic पढ़ सकते हैं। Cache writes को event.waitUntil() में wrap किया गया है ताकि वे navigation के बीच में drop न हों।

इनपुट sanitization

उपयोगकर्ता इनपुट स्वीकार करने वाला हर rendering path उसे अविश्वसनीय text मानता है:

Cross-origin image fetching

जब कोई उपयोगकर्ता vCard फ़ोटो या logo के रूप में https: URL पेस्ट करता है, तो ब्राउज़र इसे CORS और हमारी CSP की img-src allowlist के अधीन fetch करता है। छवि canvas में render होती है। यह कभी live DOM नहीं बनती, कभी code के रूप में नहीं चलती, और कभी हमारे ओरिजिन तक नहीं पहुँचती, fetch browser → remote image है, और result client-side paint होता है। remote image URL को control करने वाला हमलावर track कर सकता है कि URL load हुआ (उनके सर्वर पर एक log line) लेकिन हमारे page से कुछ भी exfiltrate नहीं कर सकता।

Subresource Integrity (SRI)

हम जो भी JavaScript और CSS ship करते हैं वह same-origin है। हम कोई third-party scripts या stylesheets load नहीं करते, इसलिए SRI hashes लागू नहीं होते। यदि हम कभी third-party asset load करें, तो हम उस पर SRI integrity attribute ship करेंगे और इस page में hash-update process document करेंगे।

कोई भेद्यता रिपोर्ट करना

यदि आप Abundera QR को प्रभावित करने वाला कोई सुरक्षा मुद्दा खोजते हैं, चाहे हमारे code में, हमारे deployment में, या किसी dependency में जो हम ship करते हैं, कृपया इसे निजी तौर पर security@abundera.ai को रिपोर्ट करें। हम 72 घंटों के भीतर triage करने का लक्ष्य रखते हैं। आप हमारी /.well-known/security.txt फ़ाइल में संपर्क विवरण के माध्यम से भी हमसे संपर्क कर सकते हैं।

कोई bug bounty नहीं (अभी के लिए)

हम वर्तमान में paid bounties प्रदान नहीं करते, लेकिन हर पुष्टि की गई वैध रिपोर्ट को changelog में credit और हमारा सार्वजनिक धन्यवाद मिलता है।

उपरोक्त किसी भी बात को सत्यापित करें

इस page पर हर दावा आपके ब्राउज़र के DevTools से हम पर भरोसा किए बिना falsifiable है:

संपर्क

सुरक्षा प्रकटीकरण: security@abundera.ai

अंतिम अपडेट: 2026-04-19। अगली समीक्षा: 2026-07-19।