스레드 orgId 으로 the rate-sheet version-spine read
Gateway는 InvestorId 만 릴레이되었으므로 업스트림은 범위가 없으며 반환되지 않았습니다. 외국인 투자자 ID에 대한 또 다른 신자의 버전 회전. 그것의 형제 (investors, 제품) 항상 orgId를 통과했습니다; 이 것은 아닙니다.
만료 된 wildcard-kamocrm-com 비밀을 중지
wildcard-kamocrm-com은 cert-manager orphaned의 유산 멀티 산 비밀이었다 인증서가 per-host 비밀에 다시 지정되었을 때. 아무것도 그것을 갱신하고 그것은 만료 2026-07-20, 그리고 그것을 핀이 여기에 만료 된 cert를 Traefik의 기본 ...
세션에서 차용한 따옴표의 배우
견적은 createdByMemberId와 브라우저가 공급하지 않아야 합니다. 회원아이디(req) 당 체크 분지에서 호평을 받고 있기 때문에, 401s는, MlosPricingController의 기존에 매칭된 요청에 각인됩니다. "session-stamped, 결코 브라우저의"미래.
AIService 는 실제로 유효한 비밀을 보냅니다
내부.auth.secret, AIService로 인증된 비전 기능 프록시 이름 * *********** — 다른 비밀. 확인된 생활: console got 401 {"error":"unauthorized"} 에 AIService. 실패는 일반 오류보다 악화됩니다. MlosAiClien...
LoanTransactionService ctor는 LeadRealtimePublisher param을 얻었다
assignLoanOfficer 이제 채팅 룰렛 이벤트를 게시하므로 서비스 ctor가 걸립니다. a 10th arg (LeadRealtimePublisher). 단위 시험의 직접적인 즉석을 새롭게 하십시오.
각 세션 및 오프 보드 경로에 ACTIVE 회원 상태 강화
ACTIVE-member 로그인 게이트는 이전에 비밀번호로만 살았습니다. 관제사. 공유-lib를 통해 모든 세션 축소 경로에 확장 *************** 사전, 그리고 오프 보드를 display-only 필드 쓰기 보다는 오히려 강제적인 사건: - 로그인 게이트는 이제 공유된 p...
Rate-lock 커밋 게이트 + 크로스오버 대출 해상도 + 차용 업체 주문 투영
세션 리뷰에서 검증된 결함: - CRITICAL: 커밋락 하드코드 *********** 엔진은 400 (LOCK ELIGIBLE 커밋만)로 거부합니다. - 모든 스튜어드 자물쇠 투입은 죽었다. ELIGIBLE 결과에 대한 스튜어드 커밋은 명확하게 경로; 엔진은 여전히 그것의 벽을 강제합...
미러 네이티브 e-sign 완료는 disclosure stub + 고정 전송 상태
(1) BorrowerSignatureService는 이제 터미널 네이티브 봉투 상태를 다시 미러링합니다. 의 잠금 해제 stub (doc 05 §4.2지도) 차용자의 내 신호에 읽기, 그래서 스튜어드의 공개보기는 서명 한 것을 반영합니다. ENVELOPE 상태의 발전 오직 - TRID...
500 대신 upsert에 soft-deleted 회원을 미리 공개
Per-member UI preferences (nav layout, hex-head size 등)는 저장됩니다 MEMBER UI PREFERENCES의 (member id, pref key) 당 행, 독특하게 보호 constraint 영국 MEMBER UI PREF KEY. "표준에 ...
My-networks + all-networks에서 X-***-Token 헤더를 허용
getMyNetworks/getAllNetworks는 OTK request-attr 또는 *** 쿠키만 읽습니다. — 장치 교환 한 초를 초과하지 않고 활성 org는 이름/로고. 이제 CallerSessionResolver (OTK attr / X-***-Token을 통해 해결 head...
트레이너는 자체 청구 또는 운영자의 일시를 복제하지 않아야합니다
원자 주장 후() 벌크 업데이 트는 RUNNING, 미러에 행을 업데이트 in-memory entity - 풀 실에는 개방 세션이 없습니다. 나중에 full-row save 그렇지 않으면 사전 선고 상태를 다시 통합하고 undo 자물쇠. In-loop 진행은 현재 상태 보존을 통해 진행...
등록 mlos.notification JPA 저장소 그래서 SecurityService 시작
EconsentService 오토와이어 DisclosureTextRepository *************** 하지만 그 패키지는 @EnableJpaRepositories에서 absent이었다 — the context failed to start, CrashLooping the 48e...
Api.<root>에 대 한 준비-signin 인증 - auth 경로는 myloan.* alias를 해결할 수 없습니다
In-cluster 로그인과 동일한 제약: canonical의 공급자 해결책 열쇠 api 호스트, 포털 별명으로, 그래서 올바른 암호는 여전히 401'd.
Preferred name fills AKA+first; 풀 항목은 실시간 리드 이벤트를 게시
(1) funnel's 선호된 이름은 이제 nameFirstAKA를 작성하고 nameFirst를 법정 이름까지 나타냅니다. 도착 (자 규칙) - 그것은 첫 번째 이름에만 착륙했다. (2) 포털은 지금 받아들인 풀에 들어가 게시 됨 *********** (이 같은 이벤트는 허용 유량 용도...
LO Chain 용접 - 포털 리드는 수락 리드 풀을 입력; 받아 들여지는 LO 변환
(1) PortalLeadService는 신용 기반 할당 풀 (requiresAssignment=true)으로 포털 리드를 경로 현재는 접촉점이 있습니다. - 포털 리드는 할당 증명입니다. (2) keepTransactionForApp 상속 납에서 거래 LO (sourceLead. 할당...
LOS 연결을 위한 Real soft-delete + reactivate-on-upsert; 안전한 시험 연결 메시지
I1: view()/testConnection() 이제 shared-lib의 active-filtered를 통해 읽습니다. finder so soft-deleted (market,provider) 연결은 "not로 읽습니다. 대신 stale 행을 설정한다. upsert() 여전히 ANY...
Resize가 실패하면 업로드 실패 (전체 크기가 떨어지지 않음)
저장소를 재생합니다: ConversionService가 크기를 조정할 수 없는 경우 이미지, 전체 크기 원본 저장 대신 422 반환 (큰 이미지가 될 것입니다) 콘솔에서 전체 크기를 렌더링). 변환 서비스 ffmpeg rewrite, resize 실패는 이제 드물게 (진정한 undeco...
Resize가 실패할 때 원본 이미지로 돌아가기
ConversionService는 native-crash (libwebp-imageio SIGSEGV) 또는 사용할 수 없습니다. 모든 회원 벽지 업로드 실패 ("공정 이미지에 실패" -> 500). 이제 resizeBackground가 던지면 원래 바이트를 자신의 손으로 저장합니다. ...
모든 SSO 토큰에 바탕을 둘 다 포함, 선택된 것에 깊은 링크
각 토큰은 자체 연결 만 수행하므로 브라우저의 재사용 된 json 세션 다른 하나가 부족 -> Linux가 '연결이 존재하지 않는 후 Windows를 엽니 다'. 모든 토큰에 두 개의 연결을 운반합니다. #/client deep-link는 대상을 선택합니다.
Route 차입자는 파이프라인을 통해 제출합니다. *********** (오름 #3)
patchLoanFile의 차용기 제출 (DRAFT->APPLICATION TAKEN) 지금 전화 *************** 대신 raw updateLoan 파일 상태 설정, 그래서 제출은 hash-chained 파이프라인 이정표, ApplicationSubmission를 생성합니다....
CallerSessionResolver의 X-***-Token 헤더에서 세션을 해결
Kamo 내부 -> APIService BFF 경로는 X-***-Token으로 세션을 전달합니다. 헤더, 그러나 해결자는 X-OTK 속성 또는 *** 쿠키를 읽는다. BaseLosController 엔드포인트 (새로운 KamoDesktop SSO 포함)는 세션이 없으며 401'd가 없습...
PatchLoanFile은 더 이상 상태 backdoor가 없습니다. 조건을 차단하지 않으면 올바른 결과를 덮습니다. clear cascades
*********** 상태 변화는 파이프라인 국가입니다 기계의 직업 (POST /transitions는 법적인 화살 + 화살 역할 문 +를 강제합니다 개방형 게이트). patchLoanFile은 이제 EVERY 상태 변경을 거부합니다. 차용자의 자신의 제출을 제외하고 (DRAFT->AP...
KamoDesktop SSO env 직접 + 와이어 guac-sso 추적 k8s 배포
- @Value는 KAMO GUAC SIGNING KEY / DESKTOP PASSWORD를 직접 읽습니다 (런타임 application.yml는 configmap-mounted이므로 속성 간접은 바인딩되지 않습니다. - 옵션 guac-sso secretRef를 k8s/deploymen...
Borrower는 응용 프로그램 태켄 부작용 (doc checklist + notify)을 제출합니다
포털 대출 제출은 PATCH 대출 파일 {statusId:2}, 이는 우회 연산자 /transitions endpoint where the application-Taken 부작용 live — 그래서 차용자는 생성 된 시나리오 doc 체크리스트를 제출하고 아무도 통지 (listDocume...
Borrower는 대출 파일 상태를 확장하거나 제출 한 후 URLA를 편집 할 수 없습니다
셀프 서비스 앱 엔드포인트의 두 개의 관련 차용기 사용 구멍 : - Privilege escalation (#2): patchLoanFile는 아무 statusId도 적용했습니다 caller-rights check, 그래서 대여자 (자신의 응용 프로그램에 파티, 0 연산자 권리)는 P...
Borrower 자체 생성 idempotency + orphan 보상; 성공으로 빈 체크리스트를 릴레이하지 마십시오
MortgageAppController.create() 자동 생성 지점: - Idempotency (#2) : findOwnedDraft를 통해 기존의 DRAFT를 다시 시작합니다. 더블 클릭 / 리로드 / 두 번째 탭 / 리트리에 중복 공백을 축소의. - Atomicity (#5) :...
보안 재생 셀프 포인트링에 대한 공급자; 자기 치유 회원 적용 권리
SecurityProvider-mirror 변경에서 2개의 prod 문제점: 1. Enter-as-System-Member는 "단체의 회원이 없습니다. 모든 어린이 org에 대한 보안 제공 업체. 모든 orgs의 security provider id가 있었다 최고 수준의 KamoCRM...
Interpret lock LAST EDIT AT epoch-millis 만료시 UTC로
dbNow() 이제 DB-UTC wall-clock (지금()::timestamp)를 반환하므로 절대 복구 JVM 기본 영역 대신 toInstant(UTC)로 즉시 - 브라우저 유지 pod timezone에 관계없이 카운트다운 수정.
도메인의 org 아래 파일 새로운 계정, kamocrm하지
/register 요청 호스트에 새로운 회원의 org를 바인딩, 하지만 org 신호 hop : kamo-register 프록시는 공유에 모든 가입 api.kamocrm.com 및 ingress는 X-Forwarded-Host를 공유 호스트로 바꿔줍니다. getServerName()가 a...
스코프 차용자의 대출 문서-자신에 필요한
Enriched /document-requirements는 앱에 어떤 파티를 읽었습니다. EVERY 파티의 요구 사항을 반환, 그래서 공동 대출 대여는 보았 co-borrower's rows (per-party boundary leak)는 403 죽은 엔드를 클릭하여 얻습니다. 단추를 ...
Per-party vault 권한 + 파티 알림 라우팅
계정 vault는 per-PARTY (shared human)의 문서를 열었지만 허가 계정 당 액세스 — 합동 대출에 2개의 높은 다 인간 결점: - PII 누출 / 차단 : 모든 계정 회원은 모든 파티 SSN 카드를 읽을 수 있습니다. 과세 반환, 계정 회원이 아닌 co-borrow...
Pipeline per-transaction 그룹화가 부서졌다
TransactionSummaryDTO.loanUids는 LOAN-FILE uids를 수행하지만 파이프라인 콘솔 키 행 APPLICATION uid에서 - 그래서 침묵으로 앱당 한 행으로 떨어졌다 (defeating the per-transaction 필요조건). loanUids는 이제...
회원 볼트 업로드가 깨졌습니다 (access level NOT-NULL)
계정 수준의 이미징 경로는 실제로 실행되지 않았다 (0 prod의 vault Imgs): uploadDocument accessLevel=null을 통과했다. 대출업자 PII (ID/income/bank docs)를 위한 CONFIDENTIAL를 통과하십시오. 기타 계정 당 목록에서 은...
Satisfy-across confusion-deputy IDOR + 계정 파티 셀프 치유
- HIGH : 경로를 통해 게이트를 만족하지만 DOCUMENT의 자체를 통해 팬 파티 다운스트림; 문서가 승인 된 파티 (same org)에 속한다는 것을 확인합니다. 릴레이, 다른 403 - 크로스 - 버거 주역 + info-leak 닫기. - listParties 계정의 대출을 통...
Self-heal 파티 링크 전에 enriched 요구 사항 읽기
listDocumentRequirements 호출 KeepPartyLinks 그래서 요구 사항 행 항상 수행 accountBorrowerPartyId (차용자 업로드/satisfy 대상).
Default-product set failed - HQL 벌크 UPDATE는 납품업자→org에 참여합니다
setDefault는 대량의 'update LeadVendorProduct ... (subquery)'에 p.vendor.id를 사용하는 경우, Hibernate 대량 업데이트는 implicit 협회에 가입, 그래서 전화 threw ('설정에 붙여 넣기 기본 제품). SELECT로 다시...
Borrower 자체 생성 = createBlank 그 후 스탬프OwnershipAndGet (두 개의 txs)
CreateBlank 커밋 후 별도의 서비스 호출로 차용 소유권 스탬프를 저장합니다. 그래서 새로운 차용기 / 설명 그래프는 계정 FK 업데이트 (D52) 전에 플러시됩니다.
닫히는 잔여 십자가org 존재 oracles + 모자 WORM-bound JSON blobs
Adversarial-review는 MLOS-W-01/03/04를 찾는다: - 404-normalized 빈 명부 봉투는 지금 요청의 정체성 열쇠를 echoes *********** 이렇게 알 수 없는, 외국 마이크로소프트 및 SHAPE의 byte-identical, 뿐만 아니라 상태 ...
리드 생성 전에 Atomic 주장 - orphan 풀 리드를 방지
social.lead.new는 동시 처리될 수 있습니다 (old + 새로운 안전 서비스 포드는 둘 다 붙듭니다 RollingUpdate의 핵심 NATS 구독 → 한 게시는 모두 제공). 이전 다음 check-then-act idempotency test raced, 잃어버린 잃어버린 잃...
Waivers/validations에 실패 닫히는 tenant 감시
리뷰는 org 가드가 일반적인 빈 목록 케이스에 대한 no-op이었다 발견 by-id waivers/validations 읽기 (MLOS 서비스는 org-filter가 아닙니다), cross-org 런 존재 + UUID 찾기. 이제 run 소유권을 확인합니다. org-bearing 세부...
게이트 FFA 사용 가능 일시 중지 가능 + 사용 가능
사용 가능한 수사원은 회원의 할당을 해결하고 중단 될 때 제품을 건너 뛸 수 있습니다. 자유로운을 위한 모든 단락 및 유효한 () 문 creditOk에 ! FFA를 위해 유출하는 너무 — 그래서 중단 된 회원의 리드 경고는 명확 (그리고 그들의 리드-Available 행 비활성화) 모든...
CreatePost에 문자열로 LeadId를 받아 CRDB id 정밀도를 보존합니다
리드 ID는 JS MAX SAFE INTEGER를 초과하는 CRDB unique rowid() 값입니다. 이제 frontend는 문자열로 LeadId를 보냅니다. 문자열과 숫자 모두 파싱 form so findById는 둥근 값 대신 정확한 ID를 가져옵니다 ( 반환 404 'Lead ...
Correctness, 스케일 및 PII는 LeadImportController에서 경화
- findAll() 대신 ranged LeadRepository 쿼리를 통해 dedup (OOM/DoS + 단결 노출 위험, 1000row 배치 당 재 실행) - 100k 행에 캡 가져 오기 및 빈 페이로드 거부 - 빈 슬라이드 전에 변환을 실행하므로 defaultValue 변환은 공...
사이트 영역 설정 + pod 당 node-local MinIO 사용
- 추가 kamo.minio.region (MINIO REGION, 기본 us-west-ca-s-1) 그래서 SigV4 시그니처는 서버의 시행된 사이트와 일치합니다. 배경을 수정합니다. 업로드 및 설정로드 실패 '모든 MinIO에 업로드 실패 노드/지역-mismatch 오류. - Dow...
Cross-org 배경 이미지 누출을 멈추십시오; 순서 안전한 reorder + staging 물통
새로운 파일을 새로운 인덱스로 다시로드 할 수 있습니다. 기존 이미지 및 imageBgCount가 unpopulated 슬롯을 주장; 제공 그런 다음 공개 키에 residual (cross-org) 객체 sat를 제공. - 프로비저닝은 이미지가 스테이지가 없을 때 카운트된 슬롯의 st...
빈 몸에 200 대신 누락 된 org에 대한 404 반환
getOrganizationById는 HTTP로 직렬화 된 베어 null을 반환 빈 몸에 200; 클라이언트는 response.json () 그 후에 threw를 부르 JSON 입력의 유효성 검사 찾을 때 적절한 404을 반환합니다.