परिवर्तन लॉग
क्या नया है.
यह जहाज के रूप में, प्लेटफार्म के हर सुधार.
· SecurityService
Persist Security Service PHI access trail to phi access log
§164.312(b) ट्रेल Slf4jPhiAccessLogWriter: 14-day प्लेटफार्म छह साल के दायित्व के खिलाफ प्रतिधारण, और कुछ भी नहीं जो क्वारी किया जा सकता है। The लीड रीडिंग और CSV/HMDA इस सर्विस रिकॉर्ड का निर्यात एक एक्सेस है §164.528 लेखांकन से इकट्ठा किया जाता है, इसलिए निशान को टेबल में जीवित रहना पड़ता है। JpaPhiAccessLogWriter में एक बीन PhiAccessRecorder के माध्यम से स्वैप करता है ऑब्जेक्टProvider.getIfUnique — PhiAccessAuditor परिवर्तनों में कोई कॉल साइट नहीं। The @EnableJpaRepositories जहाज में com.kamo.z.shared.phi.audit प्रविष्टि मिलान यह वही प्रतिबद्ध है: बीन को भंडार के बिना बनाया नहीं जा सकता है, और एक दूसरे के बिना घोषित करना क्या है क्रैशलुप्ड लॉग इन आज।.
· kamo-login
दूसरे कारक पर रुकने वाले लॉगिन को पूरा करें
सुरक्षा सेवा अब एक दूसरे कारक (§164.312(d)) पर प्रवेश करती है। जब कोई हो इसका कारण यह सत्र बनाता है लेकिन अपनी एक बार की कुंजी को रोक देता है, एक बार फिर लौटा देता है इसके बजाय शॉर्ट-लाइव्ड चुनौती टोकन - एक सत्र में कोई भी ओटीके नहीं रखता है पहुंच योग्य। इस BFF ने बिना शर्त एक oneTimeKey की उम्मीद की, इसलिए एक MFA चुनौती में गिर गई "नो सत्र कुंजी प्राप्त" शाखा और उपयोगकर्ता को 500 के रूप में पेश किया गया। अब चुनौती को मान्यता देता है और ग्राहक को mfaRequired/mfaToken गुजरता है। /api/login/mfa इसे पूरा करती है। OTK से आगे यह मौजूदा लॉगिन का पुन: उपयोग करता है रूट की हैंडऑफ़ क्रिया-कलाप - रेडिस से *** हल, स्पष्ट कहानी कुकीज़, सेट करें नया - क्योंकि दो सत्र-हाथ का कार्यान्वयन बहाव होगा और एक का इस्तेमाल किया कम अक्सर ऐसा होता है जो सड़ने वाला होता है। एक गलत कोड रिटर्न 401 mfaRequired अभी भी सच है और वही mfaToken: सुरक्षा सेवा जानबूझकर असफलता पर चुनौती का उपभोग नहीं करती है, इसलिए उपयोगकर्ता पासवर्ड के बजाय कोड को पुनर्स्थापित करता है। एक बार फिर से पासवर्ड देना टाइपो यह है कि लोग MFA को कैसे बंद कर देते हैं। Inert जब तक कोई enrol; कोई भी नहीं है।.
· VOIPService
Persist VOIP PHI trail to phi access log
कॉल रिकॉर्डिंग, वॉयसमेल ऑडियो और ट्रांसक्रिप्ट को लॉग में ऑडिट किया गया था धारा, जो छह साल के खिलाफ 14 दिन रखता है §164.528 दायित्व और नहीं संसाधन द्वारा पूछताछ की जा सकती है - इसलिए "जो इस कॉल को सुनते हैं" अप्रयुक्त रह गए जबकि यह दर्ज किया जा रहा था। JpaPhiAccessLogWriter को लेखक के रूप में वायर करना बीन ने Slf4j गिरावट को विस्थापित कर दिया है कि PhiAccessRecorder के माध्यम से हल करता है ऑब्जेक्टProvider.getIfUnique, इसलिए CallRecordingAuditor की मौजूदा कॉल साइटों रहे हैं अपरिवर्तित। @EnableJpaRepositories प्रविष्टि जहाजों में इस तरह की आवश्यकता: बीन की जरूरत है PhiAccessLogRepository, और स्पष्ट स्कैन सूची एकमात्र चीज है यह बनाता है। बिना किसी दूसरे की घोषणा करना संदर्भ स्टार्टअप को विफल कर देता है।.
· AIService
Persist AI बातचीत PHI पहुँच निशान phi access log
संग्रहीत सहायक बातचीत कम से कम 14-day को वहन करने में सक्षम है, Unqueryable log stream: मॉड्यूल अनुपालन सीमा के बाहर बैठता है, इसलिए उधारकर्ताओं के बारे में संकेत अनिश्चित रूप से बने रहे हैं और §164.528 लेखांकन छह साल बाद इस निशान से इकट्ठा होना चाहिए। रिकॉर्ड प्रकटीकरण पहले से ही एक लिखने पर बंद विफल रहता है, जिसका मतलब है कि कुछ एक बार लिखने के बाद कहीं टिकाऊ भूमि होती है। JpaPhiAccessLogWriter bean की घोषणा की और com.kamo.z.shared.phi.audit @NableJpaRepositories के लिए एक ही प्रतिबद्ध है। पुस्तकालय लेखक को छोड़ देता है Unannotated तो ~ 40 सेवाओं यह सब निर्माण नहीं है, जो बीन बनाता है और स्कैन एक एकल अविस्मरणीय परिवर्तन प्रवेश - अकेले बीन छोड़ देता है PhiAccessLogRepository with no bean परिभाषा और CrashLoops the service.
· MediaService
Persist Media Service PHI access trail to phi access log
Slf4j डिफ़ॉल्ट लेखक के माध्यम से चैट संदेश पढ़ा गया, जो डालता है §164.312 (b) एक छह साल की अवधारण के खिलाफ 14 दिन की लॉग स्ट्रीम में निशान दायित्व - और छोड़ देता है "जो इस बातचीत को पढ़ते हैं" unanswerable, एक लॉग के बाद से धारा सदस्य या संसाधन द्वारा नहीं की जा सकती है। JpaPhiAccessLogWriter bean और com.kamo.z.shared.phi.audit प्रविष्टि in the JpaPhiAccessLogWriter bean and the com.kamo.z.shared.phi.audit entry in the JpaPhiAccessLogWriter bean. @JpaRepositories जानबूझकर एक साथ जहाज: @ComponentScan("com.kamo") @Configuration को चुनना, लेकिन भंडार सूची स्पष्ट है, इसलिए बीन स्कैन प्रविष्टि के बिना मतलब है कि फ़िएक्सेलॉगरी में कोई बीन और संदर्भ नहीं है शुरू करने में विफल रहता है। ChatMessageAccessAuditor को कोई परिवर्तन की आवश्यकता नहीं है - PhiAccessRecorder ऑब्जेक्टProvider.getIfUnique के माध्यम से अपने लेखक को हल करता है, इसलिए JPA लेखक विस्थापित करता है हर मौजूदा कॉल साइट पर Slf4j गिरावट।.
· SecurityService
TOTP गुप्त एन्क्रिप्शन कुंजी
KAMO MFA SECRET KEY मैप्स to kamo.mfa.secret-key by Spring's relaxed बाइंडिंग, and क्या MfaEnrollmentService बाकी में संग्रहीत TOTP रहस्यों को एन्क्रिप्ट करने के लिए उपयोग करता है। इसके बिना सेवा अभी भी शुरू होती है - जानबूझकर, ताकि कोड को तैनात किया जा सके और कुंजी को कॉन्फ़िगर करना मंच पर एक परमाणु संचालन नहीं है - लेकिन नामांकन स्पष्ट रूप से एक दूसरे कारक रहस्य लिखने के बजाय फेंकता है। कि यह सुविधा कभी नहीं है। कुंजी ऑन-क्लस्टर (32 यादृच्छिक बाइट्स, बेस 64) गुप्त `mfa-enc-key` के रूप में उत्पन्न; मूल्य केवल Kubernetes में मौजूद है और कभी मुद्रित या प्रतिबद्ध नहीं था। इसे घुमाएं मौजूदा नामांकन को अमान्य करता है, यही कारण है कि यह इसके बजाय अपने ही रहस्य है। एक मौजूदा में मोड़ा जा रहा है।.
· DocsService
Persist इस सेवा के PHI ऑडिट ट्रेल डेटाबेस के लिए
Docsservice दस्तावेज़ बाइट्स की सेवा करती है, इसलिए इसका निशान क्या है? §164.528 के तहत प्रकटीकरण वास्तव में इकट्ठा किया गया है। यह एक 14 दिन के लिए लिख रहा था छह साल के दायित्व के खिलाफ लॉग स्ट्रीम करें, जिसमें कोई क्वेरी सतह नहीं है। The bean and the @EnableJpaRepositories प्रविष्टि land in the same act जानबूझकर। JpaPhiAccessLogWriter को पुस्तकालय में ठीक से नामित किया गया है, इसलिए सेवाओं को एक समय में एक बार में चुनते हैं; मिलान स्कैन के बिना बीन घोषित करना है आज मंच पर हर लॉग इन करने के लिए, और इन दोनों को अलग करना पूरे किए गए बदलावों से उस विफलता को ठीक से पुन: उत्पन्न किया जाएगा।.
· kamo-shared-library
टिकाऊ ऑडिट ट्रेल - पीएचआई एक्सेस जारी रखता है, केवल ऐपेंड करता है
एक लॉग लाइन से §164.312(b) को साक्ष्य में बदल देता है। कब्जा परत को वायर्ड किया गया है थोड़ी देर के लिए सात सेवाओं में, लेकिन यह Slf4jPhiAccessLogWriter के माध्यम से लिखा — छह साल के दायित्व के खिलाफ 14-day प्रतिधारण, और अयोग्य। नियंत्रण था वास्तुशिल्प रूप से उपस्थित और स्पष्ट रूप से बेकार है। PhiAccessLog is append-only: @PreUpdate और @PreRemove mutation मना, क्योंकि एक ऑडिट ट्रेल एप्लिकेशन संपादित कर सकते हैं सबूत नहीं है। डेटाबेस आधा (REVOKE) UPDATE/DELETE) KamoInitializer माइग्रेशन में है। यह पहचानकर्ता और कभी सामग्री नहीं रखता है, और एक परीक्षण का दावा है कि इकाई में कोई नहीं है सामग्री के आकार का क्षेत्र। एक ऐसा निशान जो यह बताता है कि यह क्या लेखा परीक्षा है, बस स्थानांतरित कर दिया गया है PHI एक दूसरे स्टोर में - एक है कि डिजाइन द्वारा नष्ट नहीं किया जाता है। JpaPhiAccessLogWriter जानबूझकर एक बीन के रूप में नामित नहीं है। प्रत्येक सेवा घटक-scans com.kamo, इसलिए एक स्टीरियोटाइप सभी ~ 40 इसे बनाने में सक्षम होगा, और चूंकि यह एक भंडार की जरूरत है तो उसके बाद इस पैकेज को अपने आप में जोड़ना होगा @EnableJpaRepositories सूची को स्पष्ट करें या शुरू करने में विफल रहे। यह सटीक गलती हुई आज के पहले मंच पर हर लॉग इन करें। एक सेवा जो टिकाऊ लेखा परीक्षा चाहता है बीन घोषित करता है और स्कैन जोड़ता है; बाकी Slf4j डिफ़ॉल्ट को अप्रभावित रखता है। साझालिबियनसुरक्षा टेस्ट इसे लागू करता है। फ़ील्ड को फेंकने की अनुमति के बजाय छंटनी की जाती है। एक असफल बंद पहुँच तरह एक यहाँ अपवाद उपयोगकर्ता के पढ़ने से मना कर देता है, इसलिए एक रोगजनक यूआरएल या 4KB उपयोगकर्ता-एजेंट पंक्ति खोना भी वैध पहुँच को अस्वीकार करेगा - लेखा परीक्षा परत को कभी नहीं होना चाहिए वह चीज जो उत्पाद को तोड़ती है। तालिका पहले से ही क्लस्टर (KamoInitializer fb89b3d) में मौजूद है, इसलिए कुछ भी सशस्त्र नहीं है।.
· InitializerService
Phi access log बनाएं - टिकाऊ §164.312(b) ऑडिट ट्रेल
अब तक PHI पहुंच केवल एक लॉग स्ट्रीम में 14-day प्रतिधारण के साथ दर्ज की गई थी छह साल के दायित्व के खिलाफ और कोई क्वेरी सतह के साथ। लेखांकन §164.528 के तहत प्रकटीकरण एक क्वेरी है; stdout को क्वारी नहीं किया जा सकता है। सूचकांकों को वास्तव में पूछे गए तीन सवालों के लिए चुना जाता है: जो सब कुछ छूता है एक रिकॉर्ड, सब कुछ एक कार्यबल सदस्य एक विंडो में स्पर्श और सब कुछ में एक विंडो में एक किरायेदार ( §164.308(a)(1)(ii)(D) गतिविधि समीक्षा). REVOKE UPDATE/DELETE (REVOKE UPDATE/DELETE) केवल डेटाबेस का आधा हिस्सा है; @PreUpdate/@PreRemove on इकाई आवेदन आधा है। अकेले कमजोर है - इकाई गार्ड है कच्चे SQL द्वारा बायपास एक अनुदान फिर से जोड़ा जा सकता है - लेकिन एक साथ चल रहे आवेदन चुपचाप एक लेखा परीक्षा पंक्ति को फिर से लिख नहीं सकता है। Best-effort: CockroachDB एक टेबल मालिक की सुविधा देता है विशेषाधिकार बनाए रखने के लिए, इसलिए असफलता को घातक के बजाय लॉग इन किया जाता है। तालिका सभी 14 स्तंभों और पहले सभी तीन अनुक्रमों के साथ मौजूद इकाई को धक्का दिया गया था, इसलिए कोई भी सेवा किसी टेबल के साथ एक मैपिंग के खिलाफ नहीं बनाई जा सकती है।.
· kamo-shared-library
Mint यूनिवर्सल ऋण पहचानकर्ता (ULI) + org LEI स्टोर
HMDA ULI को LAR निर्यात में जोड़ता है। UliMinter ULI = org LEI(20) + ऋण संख्या + दो ISO 7064 MOD 97-10 चेक अंक (Mod97CheckDigit — IBAN एल्गोरिदम, रेग सी 12 सीएफआर 1003 परिशिष्ट सी से ट्रांसक्रिप्ट किया गया और इसके खिलाफ पिन किया गया उदाहरण के लिए, MERS Luhn संस्करण नहीं। नई nullable Organization.lei स्तंभ (KI-applied) एक org-patch लेखन पथ के साथ; HmdaLarService ULI उत्सर्जन करता है जब जब एक org-patch लेखन पथ के साथ org एक वैध LEI + एक ऋण संख्या है, और DEGRADES को नंगे ऋण संख्या में तो एक विकृत यूएलआई सीएफपीबी प्लेटफॉर्म को अस्वीकार नहीं किया जाएगा। ऋण पहचानकर्ता प्रकार UNIVERSAL LOAN IDENTIFIER (derived: org LEI + LoanFile.loanNumber + check).
· kamo-internal
कंपनी की जानकारी में org LEI सेट करें (HMDA ULI को सक्रिय करता है)
कंपनी की जानकारी कार्ड एक कानूनी इकाई पहचानकर्ता क्षेत्र (20-char, upper- मामले में, मौजूदा org PUT के माध्यम से भेजा - संगठननियंत्रक deserializes यह संगठन में लागू होता है। एक LEI सेट के साथ, HmdaLarService उधारकर्ता के यूनिवर्सल लोन पहचानकर्ता को टकसाल करती है; एक के बिना यह नंगे ऋण संख्या में गिरावट इसलिए यह है कि प्रति org पर ULI क्या बदल जाता है।.
· kamo-internal
कंसोल से एक ingested गाइडलाइन संस्करण को बढ़ावा देना
एक गाइडलाइन स्रोत दस्तावेज़ के लिए, ingestion पैनल एक "Promote as" दिखाता है गाइडलाइन संस्करण (उत्पाद चयन + संशोधन लेबल) रेट-शीट कार्ड अब गाइडलाइन डॉक्स के लिए भी छिपा हुआ है। ingestionApi.promoteGuideline पदों के लिए नया रिले।.
· SecurityService
गेटवे रिले एक संस्करण में एक ingested दिशानिर्देश को बढ़ावा देने के लिए
MlosCatalogController/Clientगेन प्रोमोटर-गाइडलाइन, मिररिंग प्रोमोटर- पात्रता: भगवान-योग्य गेट, संगठनआईडी सर्वर-स्टैम्प्ड फॉर राइट ()।.
· kamo-register
एक बार कुंजी के माध्यम से ईमेल सत्यापन के बाद ऑटोलॉगिन
जब / सत्यापित ईमेल additive otk + autoLoginHost के साथ जवाब देता है फील्ड्स (पहले सत्यापन पर सुरक्षा सेवा द्वारा प्रबंधित), गहरे लिंक https://<host>/validate?otk=... प्रवेश के रूप में प्रवाह का उपयोग करता है - आंतरिक घर पर नए सदस्य को लैंडिंग (FirstOrgCta) बजाय उन्हें लॉग इन फॉर्म में एक के लिए बाध्य करने के लिए क्रेडेंशियल रिटाइप और एक तीसरा ***। - पोस्ट कॉम्प्लेक्शनस्क्रीन (कोड पथ + सत्यापित कार्ड): ऑटो-सेक्शन लॉग इन-पेज के साथ पुनर्निर्देशित करें, जब भी गिरावट हो जाती है ओटीके अनुपस्थित है; पहले मौजूदा ईमेल सत्यापित घटना को आग लगाती है, साथ ही ओटीके पथ पर एक नया ऑटो-सेशन एनालिटिक्स इवेंट। - / सत्यापन (ईमेल-लिंक पथ): टोकन सत्यापित प्रतिक्रिया है एक है कि OTK किया जाता है, तो यह उसी तरह रीडायरेक्ट करता है; रजिस्टर SSE पर नजर रखने वाले टैब अपने लॉगिन फॉलबैक रखता है (OTK एकल है) लिंक टैब में उपयोग और रहता है। - रजिस्टरएपीआई: सत्यापित कॉल अब VerifyEmailResponse के रूप में टाइप किया गया है।.
· kamo-marketing
चरण 3 + 4 - पहले से ही आने वाले यातायात को परिवर्तित करें
- Changelog (#2 गंतव्य) एक रूपांतरण ब्लॉक हो जाता है; करियर ईमानदार नो-ओपनिंग स्टेट दिखाता है - /subscribe page: पोस्ट-रजिस्ट्रेशन प्लान इंटेंट लैंड्स कहीं रियल (a 404 भुगतान इरादे पर था) - मूल्य निर्धारण: लाइव-priced FindYourPlanQuiz, मध्य पृष्ठ CTA, reassurance पट्टी, बाहरी / आंतरिक CTA विभाजन, उद्यम संपर्क का उपयोग करता है?topic=Sales (subject चुपचाप गिरा दिया गया था) - होमपेज: रियल चेंजलॉग से हाल ही में आयोजित स्ट्रिप, फीचर्स/UseCases ऑनवर्ड लिंक, जंपटूबार वास्तविक अनुभागों से मेल खाता है और साइन अप प्रदान करता है - /पार्टनर डिज़ाइन-पार्टनर प्रोग्राम पेज; लगभग एक संस्थापक / निर्मित-इन-द-ओपन सेक्शन हो जाता है - SEO: सभी canonicals → www + locale-prefixed 200-serving URL; प्रति-स्थानीय hreflang + x-default on 4 प्रोग्राममेटिक टेम्प्लेट; अनट्रांसलेटेड स्थानीय लोग noindexed; sitemap loc/alternates फिक्स्ड (केवल + केवल); रोबोट.txt JSON sitemap + /calculator ब्लॉक को छोड़ देता है; ब्लॉग मेटाडाटा वास्तविक अनुवाद पढ़ता है (कभी पोस्ट पहले 'आर्टिकल नो फाउंड' के रूप में अनुक्रमित) - llms.txt/llms-full.txt: वास्तविक कीमतें, UTM-stamped URL (AI रेफरल एक मापा चैनल बन जाते हैं) - आइसवार्ट एकीकरण पृष्ठ एक वास्तविक लैंडिंग पृष्ठ ( # 2 कार्बनिक प्रविष्टि) में गहरा हुआ
· SecurityService
पहले ईमेल सत्यापन पर OTK
रजिस्टर विज़ार्ड के ईमेल सत्यापन (6-अंक कोड या) को पूरा करना ईमेल लिंक पहले से ही इनबॉक्स कब्जे को साबित करता है, फिर भी नया उपयोगकर्ता था क्रेडेंशियल को फिर से टाइप करने और तीसरे को हल करने के लिए लॉग इन पेज पर उछाल आया ***। इसके बजाय प्रवेश के रूप में आदिम का पुन: उपयोग करें: FIRST पर सफल सत्यापन, जब सत्यापित उपयोगकर्ता में पात्र सदस्यता रखता है उनके रजिस्टर org, एक लॉगिन-equivalent mint. पोस्टऑथ *** सर्विस और इसे उसी एकल उपयोग 180s OTK में लपेटा जाता है जो कि कामो-internal's /validate page पहले से ही उपभोग करता है। ईमेल सत्यापन सेवा: अब विधियाँ सत्यापित करें सत्यापनResult(userId, firstVerification) तो फिर से सत्यापन का पहले से ही सत्यापित खाता (उदाहरण के लिए एक संशोधन के बाद) फिर से शुरू नहीं किया जा सकता; RootDomain ने होस्ट रिज़ॉल्यूशन के लिए पैकेज-स्टैटिक को उजागर किया। ************* किसी भी लापता पर बंद विफल रहता है या अयोग्य सदस्यता (रिजिस्टर / टीम प्रॉस्पेक्ट्स लॉगिन रखने के लिए) Redirect), unresolved डोमेन, अधूरे कस्टम डोमेन SSL सेटअप, या त्रुटि - सत्यापन सफलता स्वयं प्रभावित नहीं होती है। - / सत्यापित ईमेल प्रतिक्रिया लाभ additive otk + autoLoginHost फ़ील्ड; जब मिंट को छोड़ दिया जाता है तो अनचाहे आकार दिया जाता है।.
· kamo-marketing
संबंधित सामग्री मॉड्यूल + साइनअप सीटीए प्रोग्रामेटिक टेम्पलेट्स पर रीटारगेट
समाधान, एकीकरण, विकल्प और शब्दावली टेम्पलेट कार्बनिक थे मृत समाप्त होता है: कोई आंतरिक संबंधित लिंक और "स्टार्ट फ्री" CTAs पर इशारा करते हुए साइनअप के बजाय /pricing। - i18n Link का उपयोग करके नया साझा संबंधित कंटेंट ब्लॉक (कार्ड / गोली संस्करण) इसलिए स्थानीय संरक्षित है; प्रत्येक संबंधित लिंक आग संबंधित-क्लिक के साथ संबंधित घटना आइटम के रूप में लक्ष्य href। - समाधान: INDUSTRY CATEGORIES के 3-4 भाई-बहन उद्योग प्लस 2 तक उद्योग कॉपी नाम-ड्रॉप का एकीकरण। - एकीकरण: 3-4 समान श्रेणी के एकीकरण, छोटे के लिए शीर्ष पर श्रेणियाँ; पाद लेख CTA के ऊपर रूपांतरण ब्लर्ब स्ट्रिप। विकल्प: अन्य 8 प्रतियोगियों के लिए "Also तुलना" चिप्स, 2 तक क्यूरेट/समाधान पृष्ठ, माइग्रेशन-कोण अंतिम CTA (switchFrom key), और एक रूपांतरण ब्लर्ब स्ट्रिप। - शब्दावली: समान श्रेणी के गिरने के साथ-साथ एक के माध्यम से 3-4 से भरा संबंधित शर्तें पूर्ण शब्दावली लिंक। अब सभी प्राथमिक स्टार्ट-फ्री CTA हिट ************* सीटीए स्टार्ट-फ्री / लोकेशन इंस्ट्रूमेंटेशन; / प्रिसिंग एक के रूप में पहुंच योग्य रहता है प्रत्येक टेम्पलेट पर माध्यमिक व्यू-प्रिंग लिंक।.
· SecurityService
गेट दूसरे कारक पर लॉगिन - §164.312(d)
MFA को पूरा करता है। कोर कैमो साझा पुस्तकालय में उतरा; यह वह तार है जो बदल जाता है एक वास्तविक गेट में विन्यास संग्रहीत। गेट छोटा है क्योंकि लॉगिन पहले से ही सही आकार था: यह *** सत्र और इसे केवल ग्राहक को प्रतिक्रिया शरीर में एक बार की कुंजी के रूप में सौंप देता है - नहीं कुकी लॉगिन पर सेट की गई है। इसलिए पूरे तंत्र को ओटीके को तब तक रोकना है जब तक कि ओटीके को रोक दिया जाए दूसरा कारक सिद्ध होता है। एक सत्र में कोई भी ओटीके नहीं रखता है, वह अपरिवर्तनीय है, जो इसका मतलब है कि सत्र निर्माण को स्वयं ही सभी पर कोई सर्जरी की जरूरत नहीं है। MfaChallengeService एक अपारदर्शी, एकल उपयोग, 5-मिनट टोकन के तहत *** आईडी रखती है। ग्राहक को कभी सत्र आईडी प्राप्त नहीं होता है, और टोकन बिना बेकार है कोड उद्देश्य पर लघु: एक अर्ध-authenticated राज्य एक पासवर्ड समझौता जीवित रहता है। POST/api/security/mfa/challenge लॉगिन को पूरा करता है, जिससे OTK जारी किया जाता है। ग्राहक वास्तव में प्रवाह को फिर से शुरू करता है, यह MFA के बिना था। गलत कोड कुछ भी नहीं छोड़ता है और - जानबूझकर - चुनौती को जला नहीं देता क्योंकि मजबूर होना एक टाइपो पर पासवर्ड के माध्यम से उपयोगकर्ता वापस कैसे MFA बंद हो जाता है। The नामांकन की अपनी लॉकआउट उन विफलताओं की गणना करता है। सफलता इतनी चुनौती का उपभोग करती है इसे फिर से खेलना नहीं जा सकता। रिकवरी कोड भी इसे पूरा करते हैं, और कभी भी कोशिश नहीं की जाती है क्योंकि एक TOTP। नामांकन समापन बिंदु (/एनरोल, / पुष्टि, / स्थिति) को एक सत्र की आवश्यकता होती है - एक सत्र दाखिल करना कारक अपने खाते पर एक प्रामाणिक कार्रवाई है। /challenge जानबूझकर करता है नहीं, क्योंकि इसकी कॉलर परिभाषा से मिड-लॉगिन है। INERT TODAY: गेट केवल पर आग लगाई गई हैफेक्टर की पुष्टि की, और कोई भी नामांकित नहीं है, इसलिए मौजूदा लॉगिन पथ byte-identical है। यह बिंदु है - यह तैनाती कर सकता है किसी भी ग्राहक को इसका समर्थन करने से पहले। एंडपॉइंट ratchet ने अपने स्वयं के तीन नामांकन हैंडलर को असुरक्षित बना दिया। वे हैं संरक्षित, एक उपयोगकर्ता के माध्यम सेIdFromSession helper one-method-deep स्कैन का पालन नहीं कर सकता है, इसलिए फिक्स उन लोगों को बेसलाइन करने के बजाय मदद करने वाले GUARD को पढ़ा रहे थे। मैं भी एक ही व्यायाम को उजागर करने वाली विपरीत सीमा का दस्तावेजीकरण किया गया: पूरा चुनौती केवल स्कैन को साफ़ करता है क्योंकि यह KSession Service को छूने के लिए होता है।.
· kamo-marketing
चरण 0+1 - वास्तविक फ़नल का साधन, पहली पेंट को अनब्लॉक करना
- फॉरवर्ड डेटा-* चुंबकीय बटन/रिप्लबटन के माध्यम से props (यहां तक कि कभी भी DOM तक नहीं पहुँचा) - साधन साझा नेविगेशन, हीरो, पूर्वावलोकनBanner, अनुभाग CTA; ?ref= हर रजिस्टर लिंक पर - मृत ************* 16 अन्य अनाथ घटक - होमपेज: कोई प्रीलोडर गेट, सेक्शन SSR'd, 16 → 10 सेक्शन, प्राइसिंग में लाइव कैटलॉग की कीमतें - ईमानदार साइनअप: प्रीफिल के साथ एक ईमेल फील्ड डीप-लिंकिंग रजिस्टर; वास्तविक शर्तें / गोपनीयता लिंक - 10MB favicon.svg + Logo.svg, ड्रॉप प्रतिक्रिया-world-flags (3.7MB) इमोजी झंडे के लिए, ड्रॉप तीन.js डिप्स - स्थैतिक पीढ़ी (कोई बल-गतिशील), लंबे समय तक कैश हेडर के लिए /img /logos / favicon - विश्लेषिकी: डेटा-प्रदर्शन जीवन पर, डीएनटी ड्रॉप हटा दिया गया; चैट विजेट lazyOnload; पूर्व कनेक्ट - हीरो: स्थानीय bgs तुरंत प्रस्तुत करते हैं (थीम स्वैप नॉन-ब्लॉकिंग), वॉच डेमो → / डेमो, हमसे बात करें सीटीए, ईमानदार आँकड़े
· kamo-shared-library
TOTP दूसरा कारक - §164.312(d)
अनुपालन आकलन ने किसी दूसरे कारक की अनुपस्थिति को अयोग्य घोषित किया अपने दम पर, और 2025 सुरक्षा नियम के तहत NPRM MFA को संबोधित किया जा रहा है सब एकल कारक उपयोगकर्ता नाम + पासवर्ड एकमात्र इंटरैक्टिव प्रमाणीकरण पथ था मंच पर। TOTP को RFC 6238 परिशिष्ट B टेस्ट वेक्टर के खिलाफ सत्यापित किया जाता है, बजाय इसके विपरीत इस क्रियान्वयन का निर्माण किया गया है। यही कारण है कि अंतर पूरे ballgame है: एक होम-grown TOTP जो केवल अपने आप से सहमत है, किसी के Google को प्रमाणित नहीं करता है प्रमाणीकरणकर्ता, और हर उपयोगकर्ता को बंद करने के साथ रोलआउट पर विफलता की सतह। उन परीक्षणों को तुरंत लिखते हुए कि मैंने एक सेकंड में पारित किया था, जहां मैंने उन परीक्षणों को तुरंत पकड़ लिया था। HMAC एक काउंटर चाहता है - तीस के एक कारक द्वारा बंद - तो जनरेट अब करता है विभाजन और कोई कॉलर इसे याद नहीं है। गुण जो उस की उपस्थिति से वास्तविक MFA को अलग करते हैं, प्रत्येक ने एक द्वारा पिन किया परीक्षण: - कोड एकल उपयोग हैं। एक TOTP अपने पूरे 30 सेकंड के चरण के लिए मान्य रहता है, इसलिए LastUsedTimeStep के बिना एक इंटरसेप्टेड या कंधे से सुरक्षित कोड फिर से काम करता है अपनी खुद की खिड़की के अंदर। पहले भी सहिष्णुता के अंदर एक कदम मना कर दिया है भी, एक बार बाद में एक स्वीकार किया गया है। - अनधिकृत नामांकन की गणना नहीं की जाती है। नामांकन शुरू करना और इसे छोड़ देना इससे पहले कि वह MFA की आवश्यकता को पूरा नहीं करेगा। - लॉकआउट वास्तविक है: लॉक करते समय एक सही कोड मना कर दिया जाता है, अन्यथा लॉकआउट सजावटी है। - शुरू हो गयाएनरोलमेंट एक पुष्टिकृत कारक की जगह लेने से मना कर देता है। इसे चुपचाप ओवरराइट करना किसी को अंतिम बिंदु तक पहुंचने के लिए पीड़ित के प्रमाणीकरणकर्ता को स्वैप करने की अनुमति देगा अपना खुद का। - रहस्य को आराम से एन्क्रिप्ट किया जाता है और एक बार में वापस आ जाता है; वसूली कोड हैं बहाया और एकल उपयोग। न तो कर्मचारियों द्वारा वसूली योग्य है, इसलिए एक खोई हुई डिवाइस का मतलब है फिर से नामांकन - एक क्रेडेंशियल के लिए सही व्यापार जो पासवर्ड को बायपास करता है। - सत्यापन लगातार समय में तुलना करता है। स्ट्रिंग बराबर पहले पर रिटर्न अलग-अलग अंक, जो लीक करता है कि कितने प्रमुख अंक सही थे और एक पतन लगभग 60 अनुमानों में 10^6 अंतरिक्ष। रिकवरी कोड जानबूझकर bcrypt के बजाय SHA-256 हैं: 80 बिट्स मशीन-generated entropy के खिलाफ खिंचाव करने के लिए कोई शब्दकोश नहीं है, और एक धीमी हैश वहाँ केवल लॉगिन पथ पर एक इनकार सेवा खरीद होगा। टेबल्स पहले से ही क्लस्टर (KamoInitializer c65a233) में मौजूद हैं, इसलिए कुछ भी सशस्त्र नहीं है इस धक्का से। नामांकन और चुनौती समापन बिंदु अगले चरण हैं; कुछ भी नहीं कहता अभी तक.
· kamo-login
एनालिटिक्स एनालिटिक्स
- माउंट एनालिटिक्स मूल लेआउट में एनालिटिक्स क्लाइंट घटक: अगले / स्क्रिप्ट एनालिटिक्स.kamocrm.com के लिए लोडर डेटा डोमेन के माध्यम से गुंजाइश करने के लिए लॉगिन.kamocrm.com केवल (साइट सफेद लेबल है); किरायेदार org डोमेन होना चाहिए कभी ट्रैक नहीं किया जा सकता, संरक्षित window.analytics?.track टाइपिंग के साथ। - पोस्ट-लॉगिन रीडायरेक्ट फायर से ठीक पहले लॉगिन-सफल घटना को ट्रैक करें। - एक सफल नोटिस के साथ रजिस्टर साइट से हैंडल = पंजीकृत ("आपका खाता बनाया गया है। जारी रखने के लिए साइन इन करें। ई-मेल से ईमेल फ़ील्ड = - ईमेल verified/linked के समान पैटर्न।.
· InitializerService
दूसरे कारक तालिका बनाएं
Backs userMfaEnrollment and MfaRecoveryCode in kamo-shared-library — §164.312(d) व्यक्ति या इकाई प्रमाणीकरण, अंतर अनुपालन मूल्यांकन बुलाया अपने आप को अयोग्य घोषित करना। दोनों तालिकाओं ने क्लस्टर में अपेक्षित आकार के साथ उपस्थित होने से पहले सत्यापित किया इकाइयों को धक्का दिया गया था, इसलिए कोई भी सेवा एक मैपिंग के खिलाफ नहीं बनाई जा सकती है जिसका टेबल करता है मौजूद नहीं है। बाद में सरलीकरण को खोने के लायक तीन विवरण: - SECRET CIPHERTEXT में सिफरटेक्स्ट होता है। सेवा एक नामांकन लिखने से मना कर देती है जब कोई कुंजी को कॉन्फ़िगर नहीं किया जाता है, तो सादेटेक्स्ट में गिरावट के बजाय। - LAST USED TIME STEP क्या एक कोड एकल उपयोग करता है। इसके लिए एक TOTP मान्य है पूरे 30 सेकंड का कदम, इसलिए इसके बिना एक अवरोधित कोड अपने आप में फिर से खेलना खिड़की। - रिकवरी कोड एक धारावाहिक सूची के बजाय प्रत्येक पंक्ति प्राप्त करते हैं, इसलिए किसी को रिडीम करना है सेट पर पढ़ने-modify-write के बजाय एक लक्षित अद्यतन - जिसके तहत concurrency वास्तव में कैसे एक "एक एकल उपयोग" कोड दो बार इस्तेमाल किया जाता है।.
· VOIPService
PHI-handling orgs में कॉल प्लेबैक के लिए View CALL LOGS की आवश्यकता है
रिकॉर्डिंग और वॉयसमेल प्लेबैक ने किरायेदारी की जांच की और कुछ नहीं: किसी भी सदस्य का मालिकाना ऑर्ग इसमें किसी भी कॉल को खींच सकता है, ट्रांसक्रिप्ट में शामिल किया गया है, एक्सटेंशन पर जो एक्सटेंशन में शामिल है। उनके नहीं थे। Requiring VIEW CALL LOGS outright एक विकल्प नहीं था - एक सही विकल्प हो सकता है enum में मौजूद है और किसी को भी नहीं देना चाहिए, इसलिए इसे हर किसी के लिए स्विच करना आज इसका उपयोग करने वाले सदस्यों से दूर सॉफ्टफोन। इसलिए प्रवर्तन अनुपालन सीमा के दायरे में है जो इसे आवश्यक बनाता है। हैंडल के साथ एक ऑर्ग के लिएफी सेट, रिकॉर्डिंग ऑडियो, प्रति लेग ट्रैक, वॉयसमेल ऑडियो और रिकॉर्डिंग मेटाडाटा के अंदर transcript सवारी सही की आवश्यकता है; इनकार एक है PHI ऑडिट ट्रेल में 403 और भूमि मौजूदा डिनाइड-पैथ रिकॉर्डर्स के माध्यम से, इसलिए जांच दिखाई देती है। हर दूसरे के लिए - उनमें से सभी आज - कुछ भी नहीं बदलता है, जो क्या ******************* मामलों में पिन डाउन है। ज्ञात परिणाम: = धारा-टोकन सत्र केवल (orgId, MemberId), तो होता है PHI किराये के तहत ऑडियो-टैग पथ तब तक बंद हो जाता है जब तक कि टोकन अनुदान नहीं लेता। एक परीक्षण में रिकॉर्ड करने के बजाय बाईं ओर खोज करने के लिए।.
· kamo-internal
निष्क्रियता के बाद स्वचालित लोगोफ (HIPAA 164.312 (a) (2) (iii)
एक सत्र एक अटैन्डेड वर्कस्टेशन पर खुला छोड़ दिया गया था जो अनिश्चित काल तक उपयोग योग्य रहा था। यह एक 60 सेकंड की चेतावनी के साथ, बिना किसी बातचीत के 15 मिनट के बाद समाप्त हो जाता है इसलिए कोई भी मिड-टास्क डंप नहीं किया जाता है। टाइमिंग नियम एक शुद्ध नियंत्रक (इकाई) के रूप में app/lib/idleTimeout.ts में रहते हैं नकली टाइमर के साथ परीक्षण किया गया; घटक केवल एक इनपुट परत है। तीन निर्णय इसके बारे में जानने लायक: - केवल सूचक, कुंजी, पहिया, स्क्रॉल, स्पर्श और दृश्यता घटनाओं की गिनती के रूप में उपस्थिति। Websocket फ्रेम, मतदान और टाइमर नहीं - kamo-internal स्क्रीन खुद को लगातार ताज़ा करें, और यह इलाज करें कि डेस्क पर एक इंसान के रूप में होगा नियंत्रण सजावटी बनाते हैं। - उपस्थिति पूरे मूल में मापा जाता है, क्योंकि नियंत्रण का विषय है एक unattended मशीन, एक unattended टैब नहीं। एक टैब में काम करना इसके लिए रहता है जब प्रत्येक टैब चुप हो जाता है तो वे एक साथ समाप्त हो जाते हैं। टैब की व्यवस्था एक परित्यक्त स्क्रीन पर एक उपयोगी सत्र छोड़ देती है। - एक सत्र के अंत में टैब पर घोषणा की जाती है। *** id प्रत्येक में रहता है टैब का सत्रएक साझा रेडिस सत्र पर स्टोरेज, इसलिए एक भाई जो कभी नहीं है बताया गया है कि एक सत्र पर एक प्रामाणिक कार्यक्षेत्र दिखा रहा है कि अब नहीं मौजूद है। दोनों स्वचालित लोगोफ और साधारण /लॉगआउट पेज अब प्रसारण करते हैं। टर्मिनेशन मौजूदा /लॉगआउट पेज के माध्यम से चला जाता है - सुरक्षा सेवा लोगोट, Redis कुंजी हटाने, कुकी समाशोधन, kamo-login के लिए आगे — क्योंकि समाशोधन ग्राहक राज्य अकेले सर्वर सत्र को जीवित छोड़ देता है और एक लोगोफ नहीं है। प्रतिलिपि इस से आगे कामो अनुवाद शब्दकोश (c39dfb9) में भेज दी गई है।.
· DocsService
लेखा परीक्षा WOPI सामग्री समापन बिंदुओं और अंतिम बाइट-सर्विंग अंतराल बंद
WOPI डॉक्स को संपूर्ण दस्तावेज प्रदान करता है और कुछ भी दर्ज नहीं किया जाता है। भुगतान /wopi/files/{id}/contents/download के समान प्रकटीकरण है। एपीआईसर्विस के माध्यम से, सभी पर कोई निशान नहीं - एक दस्तावेज़ खोलने में संपादक अनुपयुक्त था। पहचान WOPI पहुँच टोकन से आती है, एक *** सत्र नहीं: दस्तावेज़ नियंत्रक इसे खोलने वाले सदस्य के ऑर्ग और सदस्य आईडी के साथ मिनट देता है और डॉक्स इसे हर कॉलबैक पर लौटाता है, इसलिए उन दावों की एकमात्र पहचान है इन समापन बिंदुओं के पास है, और एक चेकफ़ाइलइन्फो पहले से ही अधिकृत है। लेखा परीक्षक एक सदस्य को दूसरे तरीके से हल करने के बजाय उन्हें सीधे लेता है कि token के साथ असहमत हो सकता है अनुरोध द्वारा अधिकृत किया गया था। एक टोकन यह नहीं पढ़ सकता कि अनसुलझे हुए-ऑर्ग सेंसिनेल के बजाय रिकॉर्ड्स को नहीं पढ़ा जा सकता है। गिराया जा रहा है। View के रूप में PutFile रिकॉर्ड्स, नहीं डाउनलोड: एक बचा भेजने वाले बाइट्स के बजाय बाहर, इसलिए इसे बुलाना एक प्रकटीकरण डबल-काउंट करेगा GetFile जिसने खोला सत्र और दृष्टिकोण खुले में विफल रहता है, इसलिए एक बीमार लेखा परीक्षा सिंक बिना सहेजे नष्ट नहीं कर सकता काम करना चेकफ़ाइलइन्फो और लॉक ऑपरेशंस अस्वीकृत रहते हैं - कोई सामग्री नहीं, और डॉक्स दोनों बार-बार एक सत्र के माध्यम से कॉल करते हैं, जो पंक्ति को दफनाने के लिए होगा। इसका मतलब है कि बाइट्स वास्तव में चले गए। शेष-सेवा पथ के लिए स्वीप दो और अधिक पाया: - /api/docs/binders/{id}/render हर दस्तावेज़ को एक बाइंडर में विलय कर देता है। PDF यह एक अलग रैपर में बल्क-डाउनलोड है और कुछ भी दर्ज नहीं किया गया है; अब प्रति एम्बेडेड दस्तावेज़, विभाजक और उत्पन्न पृष्ठों को बाहर रखा गया एक घटना। - **************** केवल एक ImgLogDownload पंक्ति लिखा है। कि डाउनलोड इतिहास पैनल द्वारा पढ़ा गया एक इमेजिंग डोमेन रिकॉर्ड है, नहीं क्रॉस-सतह ट्रेल - इसलिए प्रकटीकरण के लेखांकन ने धाराओं को दिखाया, निर्यात और टेम्पलेट PDFs जबकि सेवा की सबसे अधिक इस्तेमाल किया बाइट पथ दोनों रिकॉर्ड अब लिखे गए हैं; वे अलग-अलग सवालों का जवाब देते हैं। कोई इकाई, @ कॉलम या साझा पुस्तकालय परिवर्तन नहीं।.
· kamo-internal
कंसोल से एक ingested पात्रता मैट्रिक्स को बढ़ावा देना
एक ELIGIBILITY MATRIX स्रोत दस्तावेज़ के लिए अब ingestion पैनल दिखाता है "योग्यता मैट्रिक्स के रूप में" कार्ड: उत्पाद चुनें, सीमा प्रकार (MAX LTV/CLTV/DTI), अधिभोग और उद्देश्य, और प्रत्येक स्वीकृत FICO → सीमा पंक्ति एक पात्रता सेल बन जाता है - गेट जो उत्पाद की कीमत देता है। The रेट-शीट प्रकाशन कार्ड अब एलएलपीए और पात्रता डॉक्स के लिए छिपा हुआ है (प्रत्येक पास है) अपना खुद का पदोन्नत पथ) ingestionApi.promoteEligibility पदों के लिए नए रिले।.
· SecurityService
गेटवे रिले एक ingested पात्रता मैट्रिक्स को बढ़ावा देने के लिए
**************** पदोन्नति-योग्यता प्राप्त करना, दर्पण करना पदोन्नति-समायोजन: भगवान-योग्य गेट, संगठनआईडी सर्वर-स्टाम्प के माध्यम से ()) लिखिए, डाउनस्ट्रीम 4xx रिलेटेड क्रियाकलाप।.
· kamo-internal
लेखक: यूआई - सूची, लाइन-item संपादक, शेयर-लिंक प्रबंधन
उद्धरण / अनुमान प्रणाली को पूरा करता है: कर्मचारी अब एक उद्धरण बना सकते हैं, इसकी कीमत, मिंट एक शेयर लिंक और यह सब पाइपलाइन से ईमेल करें। अनुप्रयोग/lib/quotesApi.ts सुरक्षा सेवा की सतह के लिए ग्राहक टाइप ************* प्रॉक्सी, POS को प्रतिबिंबित करता है (X-*** टोकन पासथ्रू) पाइपलाइन Quotesटैब सूची + स्टेटस फिल्टर, जिसे RETAIL सब-टैब के रूप में वायर किया गया है app/commerce/quotes/[uid] विस्तार मार्ग QuoteEditor पाइपलाइनRecordLayout विवरण / साझा / गतिविधि टैब के साथ QuoteLineItemEditor पुन: प्रयोज्य लाइन-item ग्रिड QuoteShareLinkPanel टकसाल, प्रतिलिपि, ईमेल, रद्द, गिनती देखें QuoteLineItemEditor जानबूझकर अपने खुद के घटक है। पाइपलाइन पहले से ही वहन करती है पांच अलग-अलग हैंड-रोल्ड लाइन-item संपादक (orders/new, OrderEditDialog, orderEditDialog) सदस्यता आदेश ग्रिड, खरीद तालिका, कार्य-आदेश श्रम / भागों) कुछ भी नहीं के साथ उनके बीच साझा किया गया; छठे को जोड़ने के बजाय इस पर नया काम करना चाहिए। संपादक का कुल एक लोकल पूर्वावलोकन है और इसे गंदा करते समय लेबल किया जाता है। वे मिरर Quoteकुल वास्तव में - लाइन छूट पहले, फिर उद्धरण स्तर छूट, फिर कर और शिपिंग - इसलिए पूर्वावलोकन कभी बचाया दस्तावेज़ के साथ असहमत नहीं है, और सर्वर की प्रतिक्रिया उन्हें हर बचत पर प्रतिस्थापित करती है। यहाँ कुछ भी नहीं है। टैक्स यूआई में भी ईमानदार रहता है: ENGINE मोड एक के बजाय "नहीं कॉन्फ़िगर" प्रदान करता है गढ़े आंकड़े, जो एपीआई रिपोर्टों से मेल खाते हैं। एक ताजा टकसाल शेयर लिंक एक बार कॉपी-अब चेतावनी के साथ दिखाया गया है क्योंकि केवल इसकी SHA-256 जारी रखा गया है और वास्तव में यूआरएल ठीक नहीं किया जा सकता है। सूची एक दिखा सकते हैं Token prefix and not more. पूरे भर में अधिकार-gated: MANAGE QUOTES बनाने / संपादित करने के लिए, SEND QUOTES टकसाल या रद्द करने के लिए लिंक टर्मिनल उद्धरण **************** संपादक को लॉक करें इसके बजाय एक संशोधन प्रदान करते हैं। शुरू से एपीआई के लिए वायर्ड लाइव - कई के विपरीत, कोई जनरेट मॉक फिक्स्चर नहीं पाइप लाइन टैब यदि उद्धरण तालिका अभी तक त्रुटि सतहों मौजूद नहीं है वास्तव में प्लेसहोल्डर पंक्तियों द्वारा मास्क किए जाने के बजाय।.
· SecurityService
रिकॉर्ड लीड ने अन-ऑडिटेबल एक्सपोर्ट्स को पढ़ा और मना कर दिया
सुरक्षा सेवा के लिए HIPAA §164.312 (b)। मंच हर लीड रिकॉर्ड करता है CHANGE (LeadHistory) और प्रत्येक लॉगिन (SystemAccessLog) और रिकॉर्ड नहीं सब पर रीड करें, इसलिए "जो इस उधारकर्ता को देखता है" - पहला सवाल एक §164.402 उल्लंघन आकलन पूछता है - अनुपयुक्त था। PhiAccessAuditor OTK/*** सत्र के नक्शे से घटनाओं का निर्माण करता है पहले से ही हल समापन बिंदु, इसलिए लेखा परीक्षा पंक्ति में पहचान समान है पहचान जो अनुरोध को अधिकृत करती है। ग्राहक आईपी से आता है X-Forwarded-For; Traefik के पीछे, रिमोट एडर ने प्रवेश पॉड रिकॉर्ड किया और पता लगाने के लिए बेकार है। डेनियल भी दर्ज किए गए हैं - जांच क्या है पता लगाने के लिए - और एक सत्रीय कॉलर एक senel org पर भूमि बजाय गिराया जा रहा है। पढ़ता है: एकल नेतृत्व प्राप्त = दृष्टिकोण, ग्रिड = एक LIST घटना प्रति लीड वास्तव में भेज दिया गया (प्रक्षेपित डीटीओ से लिया गया, इसलिए एक लीड द्वारा फ़िल्टर किया गया View unASSIGNED LEADS कभी भी ऐसा प्रतीत नहीं होता जो पढ़ा गया था। 401/403/404 सभी रिकॉर्ड एक इनकार करते हैं। निर्यात बंद विफल - एक्सेस-लॉग CSV, HMDA LAR, QC प्रशिक्षण corpus और मंच-व्यापी निष्कर्षण corpus। प्रत्येक रिकॉर्ड प्रति एक घटना रिकॉर्ड BEFORE फ़ाइल बनाया गया है, और एक असफल लेखा परीक्षा रिटर्न 503: "हमने डेटा को सौंप दिया लेकिन रिकॉर्ड खो दिया" एक जवाब है कि है वापस नहीं जा सकता। प्लेटफॉर्म-वाइड corpus हर किरायेदार को पार करता है, इसलिए प्रत्येक रिकॉर्ड को ऑर्ग के लिए जिम्मेदार ठहराया जाता है जो इसका मालिक नहीं है। केवल पहचानकर्ता लॉग हो जाते हैं, कभी सामग्री नहीं। ************* सदस्य आईडी चला गया है: एक निर्यात अब है अपनी पंक्तियों को रिकॉर्ड करने के लिए जो उनमें थे।.
· kamo-signer-monorepo
सार्वजनिक ब्रांडेड कोट/estimate दस्तावेज़ at /{locale}/q/{token}
व्यापार उद्धरण प्रणाली के लिए ग्राहक-facing सतह। सर्वर-रेंडर इसलिए ऑर्ग का ब्रांडिंग पहला पेंट में है - एक वाणिज्यिक दस्तावेज़ पर एक ब्रांडेड फ्लैश वास्तव में क्या करना चाहिए, और यही कारण है कि पृष्ठ ब्रांड कस्टम का उत्सर्जन करता है गुण QuoteBrandVars के माध्यम से इनलाइन के बजाय उन्हें हाइड्रेशन के बाद स्वैप करने के बजाय। Kamo-signer में रहता है क्योंकि उस ऐप में पहले से ही HostRegexp प्रवेश, autocert है। कवरेज, DNS उपनाम और होस्टनाम ओवरराइड के साथ थीम पैकेज - और क्योंकि बोली -> स्वीकार -> ई-सिग्न तो एक हॉप है, क्योंकि EsignGenericEnvelope किसी भी तरह से बांधता है रिकॉर्ड के माध्यम से (context type, reference id). इसका उपयोग केवल तभी किया जा सकता है जब /{locale}/ i18n वर्क लैंड; सभी 31 स्ट्रिंग्स शब्दकोश से स्रोत अनुवाद कुंजी हैं। मुद्रा और तिथियां प्रारूप अगली-intl के माध्यम से उद्धरण की अपनी मुद्रा और तिथियों का उपयोग करके सर्वर-रिसोल्ड टाइमज़ोन (recipient Member -> org -> UTC), कभी दर्शक का उपकरण नहीं। गलत क्षेत्र में प्रस्तुत एक समाप्ति उस तारीख का नाम दे सकता है जिस पर प्रस्ताव पहले से ही है। मृत। प्लेटफॉर्म का पहला असली @मीडिया प्रिंट ब्लॉक जोड़ता है। Kamo-internal में "प्रिंट इनवॉइस" हमेशा पूरे ऐप क्रोम को मुद्रित किया है क्योंकि कोई @मीडिया प्रिंट नियम मौजूद नहीं है कहीं भी; यहां ब्रांड के साथ एक साफ पत्र दस्तावेज़ के रूप में एक ही मार्कअप प्रिंट उच्चारण संरक्षित (प्रिंट-रंग-समायोजन: सटीक - एक रंगहीन उद्धरण एक ड्राफ्ट के रूप में पढ़ा), एक्शन बार दबाया और पेज ब्रेक-इनसाइड: पंक्तियों और कुलों पर बचें। टर्मिनल राज्यों को जानबूझकर असममित किया जाता है: EXPIRED को एक ईमानदार ब्रांडेड पेज मिलता है तारीख और ऑर्ग के संपर्क विवरण का नामकरण करते हुए, सुरक्षित क्योंकि कॉलर पहले से ही एक 256 बिट टोकन का कब्जा साबित हुआ; अज्ञात / रद्द / गलत-ऑर्ग सभी एक के लिए पतन सामान्य पृष्ठ इसलिए सतह की जांच नहीं की जा सकती। ग्राहक कारणों को व्हाइटलिस्ट करता है प्रस्तुत करने से पहले। टोकन कभी भी यूआरएल में आगे की यात्रा नहीं करता है - सर्वर-साइड उसे एक यूआरएल में पोस्ट करता है बॉडी, और BFF ने रियल क्लाइंट IP को स्पष्ट रूप से आगे बढ़ाया क्योंकि APIService टिकट X-Forwarded-For अपने स्वयं के इनबाउंड अनुरोध से, जो अन्यथा हर जगह डालेगा दर्शक एक दर सीमा बाल्टी में फली आईपी की कुंजी है। SECURITYSERVICE URL को configmap में जोड़ता है (verified: kamowssecurity-service मौजूद है) कामो नेमस्पेस में)।.

तुम्हारा ब्रह्मांड इंतजार कर रहा है.
मिनटों में मुफ्त शुरू करें. जब भी आप तैयार हों तो उत्पाद जोड़ें - कोई माइग्रेशन नहीं, कोई नया लॉगइन नहीं.
हमेशा के लिए मुफ्त - कोई क्रेडिट कार्ड की आवश्यकता नहीं