Applied-model is the read-time source of truth for feature availability
Closes the "stale DB leaks a disabled feature" gap by gating every surface that touches OrgFeature / ServiceType through the applied security model. - ********...
Wire applied-model enforcement across every controller
Every non-role setting on the applied security model is now enforced at the exact controller boundary it governs, and the scalar settings round-trip cleanly thr...
Enforce system-role assignment and auto-admin for team-member owners
MemberSecurityController now enforces the three assignment invariants defined in the brainstorm spec: - saveMemberSecurity: before persisting the caller's requ...
Master-model + applied-model endpoints and template-aware org seeding
Adds the controllers that surface the new branch-type security flow: - /api/security/master-model (GET/PUT) manages the current org's master model; only writ...
Supplement session rights with all known rights for grant-all roles
Add SSE endpoint for real-time email verification + improve welcome email logging
Add resetCode to password reset email, add emailVerifyByCode endpoint, send WELCOME_MEMBER after email verification
Pass human-readable expiry time to email verification template
Add humanizeMinutes() helper that formats minutes as days/hours/minutes (e.g. "1 day" for 1440 min). Pass as {{expiryText}} to match updated canonical template ...
Add code-based email verification path to /verify-email endpoint
The endpoint now handles both token (link click) and userId+code (manual 6-digit entry). Token path unchanged; code path hashes the supplied code and matches ag...
Add register-photo endpoint for unauthenticated post-registration avatar upload
POST **************** accepts userId + file/fileSm/fileMd/fileLg without a session. Guards: user must be unverified and have no avatar yet, preventing abuse aga...
Add GET /api/security/geoip/me for client IP country lookup
Reads real client IP from X-Forwarded-For / X-Real-IP headers, does a GeoLite2 lookup, and returns { country_code, country_name }. Used by kamo-register's count...
Implement SP4 email verification and registration wiring
- Delete legacy email/VerificationEmail.java (hardcoded SMTP stub) - Add **************** (mirrors recovery package pattern) - Add **************** — token gene...
Add AccountSettingsController + Service for phone + security questions (SP3)
Allows logged-in users to set/verify phone and configure 3 security questions. Routes to /api/account/* (session-authenticated via KSESSION_DATA).
Add BulkTextSmsClient + EmailTemplateServiceClient + PasswordRecoveryController (SP3)
Full password recovery flow: email-link, SMS OTP, security questions, seed phrase. Routes to /api/recover/* (unauthenticated). Uses SP1 email pipeline + VOIPSer...
Wire EmailTemplateSeedClient into ****************
Thin RestTemplate client that POSTs to EmailService's **************** after an org + owner TeamMember are persisted. Retries twice with backoff; failure throws...
Add public known-aliases endpoint for kamo-nowww build-time bake-in
Add analytics → analytics text replacement in changelog sanitization
Redact tokens ≥32 chars in changelog sanitization
Any word (run of non-whitespace) that is 32 characters or longer is replaced with **************** before titles and descriptions are sent to the translation se...
Generate TXT verification token on domain create, check in verify-dns
- createDomain: generate 32-char UUID token and store via setVerificationToken - verifyDns: check _kamo-verify TXT record for kamo-site-verification=<token> - T...
Update required aliases — add app, capcha, docs, sign; remove legacy
Add /setup/dns backend — one-domain enforcement, SSL probe, new aliases
- Enforce one custom domain per org in POST /api/security/domains - Add capcha, docs, sign to standard aliases; remove legacy aliases - Update verify-dns to tra...
Move changelog word replacement to backend before translation
Text replacements (Docs→Docs, Meet→Meet, etc.) and secret name redaction (K8s secret names→***) were previously applied client-side in ChangelogClient.tsx, mean...
リードインテーク管理と公開受信コントローラーを追加
自動リードインテークシステム用の2つのコントローラーを追加します。 - LeadIntakeController:インテークエンドポイント、フィールドの認証されたCRUD マッピング、ペイロードキュー管理、バックログ処理、統計 - LeadIntakeReceiveController:第三者を受け入れるパブリックエン...
ログイン時にRedisセッションでMemberTypeを保存
E.id に CASE を追加するには、 'TEAM MEMBER' ELSE 'MEMBER' END をNULLしない ログイン SQL クエリで、結果を createSession から Redis に渡します。 そのため、フロントエンドは、セッションデータから定期的にメンバーを識別できます.
テンプレートのアップロード時のシンクロパーページサムネイル生成と粒状WSの進捗
- pom.xml に PDFBox の依存性を追加 - 変換されたPDFを保存した後、PDFRendererを介してすべてのページをレンダリングし、それぞれを{id} thumb p{n}.pngとしてアップロードします。 - 公開 generate thumbnails WS の進行イベントページ(72-95% の...
Add Webhook シークレット検証 変更ログエンドポイント
Defense-in-depth: validates *** ヘッダ上の APIService ゲートウェイの検証に加えて、SecureService 側.
会員アクセスレベルとオーナーステータスエンドポイントの追加
GET と PATCH を追加 アクセスレベルを完全権限の執行で読み、更新するためのエンドポイント。 CreateOrganizationOwner を使用する組織作成を更新します.
8つの異なるWebSocketのアップデートで顆粒変換段階を追加
ステージ: ダウンロード(0-15%) → 準備 (15-20%) → 変換 (20-65%) → 検証 (65-75%) → 保存 (75-90%) → 確定 (90-100%) → 完了
電子署名テンプレートのアップロードのための同期PDF変換
テンプレートのアップロードは、変換サービスを介して直接変換します。 アップロード. リクエスト リアルタイムWebSocketのNATS進捗イベントを公開 フロントエンドの更新。 変換が失敗した場合、順調にフォールズします.
E-signatureテンプレート API エンドポイントの追加
- POST **************** — スコープ制御でテンプレートをアップロード - POST ************ — コンテキストとステータスでテンプレートをリスト - PATCH **************** — テンプレートのライフサイクルを更新 - GET ****************...
CapchaでGoogleのre***を置き換える***検証
Re***Service とすべての Google の re*** の設定を削除します。 Add CapchaVerification****ペイロードを検証するサービス kamo-capcha サービスの /api/verify エンドポイント ログインリクエスト bean と SecurityController ...
電子メールによる連絡先情報と検索ユーザーを受け入れるためにPOST /顧客を強化
アカウントを作成すると、メール、連絡先名、電話、受け付けマーケティング、税金免除が受けられます。 電子メールが提供され、既存のユーザーと一致している場合, masterAccountHolder として自動設定.
コマース顧客管理のための18アカウント詳細エンドポイントを追加します
/api/security/account/ の下の AccountController の新しいエンドポイント: - 顧客のCRUD:GET/POST/PUT/DELETE/customers/{uid} - 関連するデータ: GET /customers/{uid}/leads, /orders, /members...
111 小売エンドポイントを CommerceMarketController に追加
/{marketId}/retail/... 名前空間のカバーの下にあるすべてのエンドポイント: - カテゴリー、ブランド、属性(値付き)、画像、バリエーション、タグ、レビュー - 顧客、住所、顧客グループ - 税務クラス、ゾーン、料金、割引、価格表(エントリ付き)、ギフトカード - 在庫場所、在庫レベル(調整付き) ...
Expand CommerceMarketController with nested market-centric endpoints
Replace flat POS endpoints with market-scoped REST hierarchy: - Products, inventory, vendor categories under /{marketId}/products, /inventory, /vendor-categorie...