Misurazione di utilizzo E-sign + controllo self-serv del consumatore
#4 metro: - EsignMeterSubmissionService (@Scheduled day): aggrega API-origin EsignUsageRecords per org+period; primo 40/periodo incluso, il resto presentato com...
Expose API SIGNATURE (E-Signature API) portachiavi
Aggiungi il campo API E-Signature al gestore chiave API org in modo che il personale possa concedere Accesso e-sign programmatico per affari o per affari. Utili...
Gateway API e-sign programmatico pubblico (ambito API SIGNATURE)
Aggiungi /api/public/esign/** a PublicApiController: convalida la chiave API org, richiede il campo API SIGNATURE, limiti di velocità e inoltro a ESigService bu...
API di busta programmatica interna (origin=API) per affari
- EsignInternalController (/api/esig/internal/*): X-Internal-Auth + X-Org-Id authed, chiamato da APIService dopo che convalida la chiave API SIGNATURE-scoped; r...
API SIGNATURE api-chiave portata + EsignGenericEnvelope.origin
Additivo, nessuna versione urto: - ApiKeyScope.API SIGNATURE — porta l'API di e-signatura programmatica (Business) - EsignGenericEnvelope.origin (EsignUsageOrig...
Azione per la firma + stato della busta nell'editor dei documenti
Aggiungi un pulsante 'Invia per la firma' all'intestazione dell'editor template che apre un finestra di dialogo per inviare il documento ai destinatari e tracci...
Busta generica crea/send motore (sender side)
Aggiungere le unità kamo-internal API /api/esig/envelopes documenti per la firma, riutilizzando le stesse entità condivise-lib il pubblico firma API legge — l'a...
Motore API di firma pubblica per sign.sign.pink
Implementare il /api/esig/public/* firma API le chiamate app kamo-signer, trasformare il firmatario dal vivo da preview-stub in un backend funzionante. - valid...
Toggle del prodotto della piattaforma nella scheda Organizzazione
Superare la designazione del prodotto della piattaforma dove appartiene — Piattaforma → Organizzazioni. Aggiunge un interruttore gated per org (disabilitato per...
Gestire Organization.isPlatformProduct dalla piattaforma → Orgs
PlatformAccountSummary espone èPlatformProduct + hasSubscription Mercato; nuovo Ma... (platform-admin gated) imposta la bandiera e invalida i diritti dei membri...
Organizzazione esplicita.isPlatformProduct come segnale di diritto-radice
Sostituire l'euristico derivato 'con un mercato SUBSCRIPTION' con un esplicito, Bandiera di proprietà di admin-set. Un prodotto della piattaforma (ad esempio si...
Il membro dello scopo dà diritto alla radice del prodotto, non KamoCRM
EntitlementService risolve ora la radice del diritto di ciascun membro tramite EntitlementRootResolver (nearest market-owning ancestor-or-self) invece di cammin...
Risolvere i diritti per prodotto-root org, non piattaforma di alto livello
Introduce EntitlementRootResolver: il più vicino mercato ancestor-or-self di un org (la sua radice del prodotto), cadendo al livello superiore della piattaforma...
Aggiungi destinatario della busta, valore del campo, entità dello stato del destinatario
Controllare nel modello di esign in corso: EsignEnvelopeRecipient (+repo), EsignFieldValue (+repo), EsignRecipientStatus e un aggiornamento ESignSignerType. Add...
Aggiungi EsignUsageRecord per la misurazione dell'utilizzo per firma
Nuova entità di utilizzo (mirrors AiUsageRecord) emessa alla firma completamento. Solo le firme API-origin contano verso il mese di un piano incluso quota + ove...
Preservare il rapporto di aspetto, non allungare mai loghi non quadrati
Favicon PNG/ICO cornici sono stati prodotti con tenereAspectRatio(false), stretching qualsiasi logo non quadrato in un quadrato distorto. Centro-fit il logo su ...
Pre-seed sign.pink + www.sign.pink in STATIC DOMAINS
sign.pink è un nuovo dominio apex (consumer e-signature brand / white-label Kamo inquilino org). Pre-seed apex + www così un cert di crittografia esiste prima p...
Nuova app di firma monorepo + mobile-first e-signature
Turborepo + pnpm workspaces monorepo alloggiamento riutilizzabili pacchetti e-sign estratto da kamo-internal più una nuova, ultra-polished kamo-signer app — l'e...
Riscrittura di impresa a tutta larghezza con anteprima live
LoanProductForm era una singola colonna stretta (maxLarghezza: 880) con codice rigido Inglese ovunque. Ora utilizza lo stesso modello di impresa della pagina of...
Layout a due colonne con riquadro in anteprima live
La pagina della nuova offerta era una colonna stretta alta su schermi larghi — sprecato metà la vista. Ora utilizza CSS Grid con il modulo sulla sinistra (5fr) ...
Polacco pagina nuova offerta — stato vuoto, distintivo LOC, termini personalizzati
Tre vuoti UX la pagina offerta aveva dopo il refactor precedente: 1. Stato vuoto. Quando un mercato non ha ancora prodotti di prestito, il calo utilizzato rend...
Per-offer overrides per tasso, APR e tassa di origine
LoanOfferCreateRichiesta ottiene tre campi facoltativi — interesseRateBpsOverride, aprBpsOverride, provenienzaFeeAmountOverride. creareDraft li applica quando i...
Esporre PERSONAL LOANS nel tipo di commercio e raccoglitori di fidanzamento
Aggiunge PERSONAL LOANS al COMMERCE TYPES ed EngagementType list in modo da nuovo mercato dei prestiti personali KamoLOS può essere creato dai mercati/nuovi e m...
T6+T7 frontend polish + rapporti org + autopay UI
Smalto frontale (T6): - Nuova lib/format.ts: aiutanti locali-aware Intl — formatCurrency / formatDate / formatDateTime / formatPercentBps. Sostituisce hardcoded...
Tier 6+7+9+10 — frontend polish, org reports, OpenAPI, JaCoCo
T6 (frontend polish): - New /lib/format.ts: locale-aware formatCurrency / formatDate / formatDateTime / formatPercentBps via Intl APIs (replaces hardcoded t...
Tier 5 lotto di conformità
- OfacSanctionsService: Jaro-Winkler fuzzy match @ ≥0.92 dopo exact-match Passo. Colpisce il punteggio di somiglianza superficiale. Configurabile tramite los.of...
LoanChargeOffReasonCode (IRS 1099-C box 6) + ricerca di audit
- Nuova LoanChargeOffReasonCode enum (A BANKRUPTCY.H OTHER) per IRC §6050P - Loan.chargeOffReasonCode colonna - @Query per i subpoenas del regolatore (loanId / ...
Tier 3 sicurezza + Tier 8 gruppo di pulizia bug
T3 — Sicurezza: - Nuova RateLimitFilter (Bucket4j): 1000/min per IP per webhooks, 10/min per sessione per offerta accetta/decoder/rescind, 60/min generale. Regi...
E' il momento giusto
Usato per riattivare un esistente Il piano PAUSED invece di creare una riga duplicata che orfana quella in pausa.
/api/los proxy HMAC-segna intestazioni di identità
Quando LOS PROXY HMAC SECRET env var è impostato, il proxy ora calcola E mi manda. X-Proxy-Signature + X-Proxy-Timestamp accanto al X-Org-Id / Intestazioni X-Me...
Org-side dettaglio prestito pagina + regolazioni / Promise API
- losApi: manualeAdjust, waiveFee, promiseToPay - La pagina completa delle operazioni * 4 carte di bilancio (corrente, principale, interesse, prossimo due) * Mo...
Final batch — compliance, packets, adjustments, Grafana, tests
Compliance: - MlaCheckService — Military Lending Act covered-borrower lookup against DoD MDC single-record query. Returns NotCovered if unconfigured so dev ...
P2 lotto — osservabilità, test, tassa di fine anno, ID Stripe reali
Osservabilità: - micrometro-registry-prometheus sul sentiero di classe - /actuator/prometheus esposto tramite gestione config (sia locale + k8s configmap) - Ser...
LoanOrgStripeConnect + Imposte sui prestiti/campi obbligatori + indici caldi
- Nuova entità LoanOrgStripeConnect (one-per-org, detiene stripeConnectedAccountId + Collegare le capacità di bordo) + repository - Loan: stripeCustomerId (lazy...
P1 frontend — coda di ricarica + timeline di audit
- losApi: chargeOffQueue / confermareChargeOff / auditByLoan - No, no. D120 recensione coda pagina; org utente recensioni ogni prestito, aggiunge un motivo, cli...
P1 lotto — webhooks stato avanzato, cron, commercio verticale
Movimento dei soldi (il nucleo P1): - LoanPaymentPostingService: markSucceedAndPost / markFailed / markReturnedAndReverse / markDisbursementSucceededed / markDr...
P0 indurimento — forme, risoluzione della sessione, metodi di pagamento
Forms (org-side): E' una cosa che non va. /{productUid} modificare pagine - Nuovo LoanProductForm: basi / prezzi / limiti / termini / conformità sezioni, campi ...
Indurimento P0 — Stripe Connect endpoint + PDF flatten
- Fix EsignClient Importazioni: EsignGenericEnvelopeRepository / EsignSignatureRepository live in .esign.repos, not .esign root - Nuovo StripeConnectController ...
/api/los/* percorso proxy → KamoLOS via k8s DNS
Specchi il /api/billing/[...percorso] Delegazione del servizio di fatturazione: *** sessione risolta tramite Redis; X-Org-Id + X-Member-Id inoltrata - /api/los/...
Aggiungi PERSONAL LOANS tipo di commercio front-end
- engagementTypeLabels: estendere l'engagement Tipo unione + vocabolario - MarketCardGrid: PERSONAL LOANS colore (#14b8a6) + icona del marchio + contatore - Pag...
Originaria personale iniziale + servizio di assistenza
New Spring Boot 3.1.5 / Java 21 microservice modellato su BillingService. Possiede dominio personale-loan end-to-end: - LoanProduct / LoanOffer / Loan CRUD con...
Aggiungere PERSONAL LOANS tipo di commercio + pacchetto entità
- CommerceType.PERSONAL LOANS + Engagement paralleloTipo + vocabolario - IntroduttivoVendorCategories per i fornitori personali-loan - 15 entità JPA personali l...
Gli upload di album fotografici utilizzano la stessa pipeline WS della scheda Caricamenti
Estrae la pipeline di upload doc-manager (hashing → dedup check → registro-or-upload → conversione di WebSocket-driven) in un uso riutilizzabileImagingUploads g...
Hide isActive=false programmi da mutuatari in tempo reale
useProgramCatalog ora filtra i programmi con isActive=false prima restituirli al mago del prestito. La bandiera è computerizzata lato server come (base.isActive...
Backfill programma offerte per i mercati ipotecari esistenti sul boot
DataLoader ora chiama E' il momento giusto. dopo il backfill AppMortgage-engagement. Nuota ogni MORTGAGE esistente CommerceMarket e assicura che le sue offerte ...
Bootstrap programma mutuo offerte sul mercato creare + boot backfill
Quando l'utente crea un CommerceMarket con commerceType=MORTGAGE — tramite Impostazioni di mercati e campi scheda — il mercato ha bisogno di programma per le su...
Duplicare leganti in modo che gli utenti possono forcheggiare senza influenzare l'originale
Aggiunge un'azione "Duplicata" accessibile dal menu contestuale dell'elenco dei raccoglitori e da un nuovo pulsante nell'intestazione dell'editor. Il duplicato ...
Aggiunta di POST
Copre a fondo un legante che il richiedente può vedere (di proprietà, condiviso o modello) in un legante fresco di proprietà del richiedente. Copisce ogni eleme...
Mortgage Programmi di gioco + MORTGAGE impegno deep-link
- MortgageProgramsPanel ora spedisce un vero Switch su ogni scheda di programma con aggiornamento ottimistico + rollback sul fallimento. Toggling delle chiamate...
PUT /programs/{code}/active + deprecare i punti finali di POS di ipoteca legacy
MortgageProgramController guadagna PUT *************************************************************************************************************************...
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
