KamoCRM

Live Change Log

Every feature, fix and improvement, posted as it ships. Nothing is held back for a launch.

18,407
Total Changes
6,538
Features
5,540
Fixes
30
Projects
Filter by project
All Projects18,407AIService276APIService177BillingService161ConversionService117DaemonService146DocsService240ESigService93EmailService622InitializerService344KBService162KlusterServices769MCPGatewayService277MediaService620RAGService79SecurityService1,997TranslateService62VOIPService265VectorService11kamo-apps26kamo-asterisk-support28kamo-capcha17kamo-capcha-widget4kamo-internal8,700kamo-login342kamo-marketing642kamo-nowww20kamo-register213kamo-shared-library1,826kamo-signer-monorepo57kamolos114
Filter by type
All TypesBuild23CI525Chore794Docs3,286Feature6,538Fix5,540Other1,001Performance174Refactor282Revert23Style45Test175Upgrade1
August 4, 2026
Featurekamo-internal

Break-glass god mode — reason prompt, countdown, standing indicator

God mode had no UI at all in kamo-internal: a localStorage boolean that a mount effect mirrored into ***, re-asserted on every new tab forever. That made the br...

kamo·3mo ago
FeatureSecurityService

Read the PHI access trail — §164.528 accounting and activity review

The trail has been written for a while and nothing could read it, which left two obligations unmet: an accounting of disclosures for one individual's record (§1...

Kamo·3mo ago
Featurekamo-internal

MFA enrollment screen and the god-mode PHI boundary control

Two settings surfaces for backends that had none. MFA enrollment (settings → my profile → Sign-in Security, self only). SecurityService's /api/security/mfa end...

Kamo·3mo ago
FeatureSecurityService

Endpoint to read and move an organization's HIPAA boundary

Organization.handlesPhi has existed as a column with no way to set it, so PhiTenantGuard has been enforcing a flag nobody could turn on. This is the missing hal...

Kamo·3mo ago
Featurekamo-internal

Rebuild the quote form as a guided flow, add an output preview

The details tab was a flat stack of outlined boxes that gave every field the same weight, so nothing signalled which inputs actually change what the customer se...

kamo·3mo ago
Featurekamo-shared-library

Audit vocabulary for a change to the compliance boundary itself

Adds PhiResourceType.ORGANIZATION and PhiAccessKind.CONFIGURE so that turning Organization.handlesPhi on or off can be recorded as what it is. Every existing r...

Kamo·3mo ago
FeatureSecurityService

Serve the customer-facing view to staff for preview

GET /{uid}/preview returns the same PublicQuoteView the share link serves, from the same QuotePresentation resolution, so a previewed letterhead cannot differ f...

Kamo·3mo ago
FeatureConversionService

Scan uploads for malware at ingest (§164.308(a)(5)(ii)(B))

The document vault accepted arbitrary uploads with no malware scanning anywhere on the platform, and it is multi-tenant — a file one org uploads is opened by an...

Kamo·3mo ago
FeatureSecurityService

Break-glass god mode — justification + 30-minute time-box

God mode activated silently and lasted as long as the session. That is the control a covered entity's security review pushes hardest on, because "your staff can...

Kamo·3mo ago
Featurekamo-internal

Reorder steward tabs; fold Identifiers into a pipeline find-loan popover

Tab order is now Pipeline, Documents, Underwriting, Pricing, Capital & Risk, Governance, Ingestion, Catalog — Pipeline becomes the default landing screen. The ...

kamo·3mo ago
August 3, 2026
Featurekamo-signer-monorepo

Compare options on the public quote page

Options render as selectable cards rather than rows, because they are choices and not additions. The period total is the headline; the monthly equivalent sits b...

Kamo·3mo ago
Featurekamo-internal

Author multi-option quotes from the editor

A quote is either a flat price sheet or a set of alternatives, so the editor offers a mode toggle rather than letting both exist at once — sending both would sh...

kamo·3mo ago
FeatureSecurityService

Accept an option on the public quote endpoint

Multi-option quotes cannot be accepted blind — the request now carries the chosen optionUid and the service refuses acceptance without one.

Kamo·3mo ago
Featurekamo-shared-library

Multi-option quotes with per-option comparison totals

A quote can now present several mutually-exclusive ways to buy — monthly, annual, three-year — instead of forcing three separate documents that drift apart the ...

Kamo·3mo ago
Featurekamo-internal

Delivery coverage, pricing sign-off, large-deposit panels

Replaces the final Coming-soon chips (Hedge & coverage, Pricing sign-off, Large-deposit) with live panels wired to the new steward proxies.

kamo·3mo ago
FeatureSecurityService

Steward proxies for coverage, pricing sign-off, large-deposit

Operator-gated, session-stamped org+member, fail-closed ownership (no cross-org existence oracle). New endpoints baselined in the unauthenticated-endpoint ratch...

Kamo·3mo ago
Featurekamo-shared-library

WORM pricing sign-off entity (mlos_pricing_signoff)

Append-only steward APPROVE/REJECT judgement on a frozen priced result. @PreUpdate throws (a reversal is a new row). Table + 4 indexes (org, run, result, loan) ...

Kamo·3mo ago
Featurekamo-internal

Steward console round 2 — exception queues, governance, MERS recon

- Capital + Underwriting: StewardExceptionQueue (shared panel) wired to the real steward-tasks endpoint — lock exceptions **************** and guideline exc...

kamo·3mo ago
FeatureSecurityService

Gateway relays for steward-tasks, calibration/funnel, MERS reconciliation

god-eligible, org server-stamped GET relays: **************** **************** MlosDocOrchestration **************** (fail-closed org filter, drops non-owned pa...

Kamo·3mo ago
Featurekamo-internal

Build out the mortgage steward console coming-soon features

Replaces stubs with real, endpoint-backed panels + fixes a dead-write bug: - Underwriting: Income calculation panel (qualification: DTI/PITIA/reserves/LTV + A...

kamo·3mo ago
FeatureSecurityService

Gateway relay to promote a reviewed bulletin

MlosCatalogController/Client gain promote-bulletin, mirroring promote-guideline (god-eligible gate, org server-stamped). Baselined promoteBulletin in the unguar...

Kamo·3mo ago
FeatureSecurityService

Persist SecurityService PHI access trail to phi_access_log

The §164.312(b) trail was going to Slf4jPhiAccessLogWriter: 14-day platform retention against a six-year obligation, and nothing that can be queried. The lead r...

Kamo·3mo ago
Featurekamo-login

Complete a login that stopped at the second factor

SecurityService now gates login on a second factor (§164.312(d)). When one is owed it creates the session but withholds its one-time key, returning a short-live...

Kamo·3mo ago
FeatureVOIPService

Persist the VOIP PHI trail to phi_access_log

Call recordings, voicemail audio and transcripts were audited into the log stream, which keeps 14 days against a six-year §164.528 obligation and cannot be quer...

Kamo·3mo ago
FeatureAIService

Persist AI conversation PHI access trail to phi_access_log

Stored assistant conversations are the reads least able to afford a 14-day, unqueryable log stream: the module sits outside the compliance boundary, so prompts ...

Kamo·3mo ago
FeatureMediaService

Persist MediaService PHI access trail to phi_access_log

Chat message reads were recorded through the Slf4j default writer, which puts the §164.312(b) trail in a 14-day log stream against a six-year retention obligati...

Kamo·3mo ago
FeatureSecurityService

Inject the TOTP secret-encryption key

KAMO_MFA_SECRET_KEY maps to kamo.mfa.secret-key by Spring's relaxed binding, and is what MfaEnrollmentService uses to encrypt stored TOTP secrets at rest. With...

Kamo·3mo ago
FeatureDocsService

Persist this service's PHI audit trail to the database

DocsService serves document bytes, so its trail is what an accounting of disclosures under §164.528 is actually assembled from. It was writing to a 14-day log s...

Kamo·3mo ago
Featurekamo-shared-library

Durable audit trail — persist PHI access, append-only

Turns §164.312(b) from a log line into evidence. The capture layer has been wired across seven services for a while, but it wrote through Slf4jPhiAccessLogWrite...

Kamo·3mo ago
FeatureInitializerService

Create phi_access_log — the durable §164.312(b) audit trail

Until now PHI access was recorded only to a log stream with 14-day retention against a six-year obligation, and with no query surface. An accounting of disclosu...

Kamo·3mo ago
Featurekamo-shared-library

Mint the Universal Loan Identifier (ULI) + store the org LEI

Adds the HMDA ULI to the LAR export. UliMinter builds the ULI = org LEI(20) + loan number + two ISO 7064 MOD 97-10 check digits (Mod97CheckDigit — the IBAN algo...

Kamo·3mo ago
Featurekamo-internal

Set the org LEI in Company Info (activates the HMDA ULI)

The Company Info card gains a Legal Entity Identifier field (20-char, upper- cased), sent through the existing org PUT — OrganizationController deserializes it ...

kamo·3mo ago
Featurekamo-internal

Promote an ingested guideline version from the console

For a GUIDELINE source document the ingestion panel shows a "Promote as guideline version" card (product select + revision label). The rate-sheet card is now hi...

kamo·3mo ago
FeatureSecurityService

Gateway relay to promote an ingested guideline into a version

MlosCatalogController/Client gain promote-guideline, mirroring promote- eligibility: god-eligible gate, organizationId server-stamped via write().

Kamo·3mo ago
Featurekamo-register

Auto-login after email verification via one-time key

When /verify-email responds with the additive otk + autoLoginHost fields (minted by SecurityService on first verification), deep-link straight to https://<host>...

Kamo·3mo ago
Featurekamo-marketing

Phase 3+4 — convert the traffic that already arrives

- changelog (#2 destination) gets a conversion block; careers shows the honest no-openings state - /subscribe page: post-registration plan intent lands somewher...

Kamo·3mo ago
FeatureSecurityService

Mint auto-login OTK on first email verification

Completing the register wizard's email verification (6-digit code or email link) already proves inbox possession, yet the new user was bounced to the login page...

Kamo·3mo ago
Featurekamo-marketing

Related-content modules + signup CTA retargeting on programmatic templates

Solutions, integrations, alternatives, and glossary templates were organic dead ends: no internal related links and "Start free" CTAs pointing at /pricing inste...

Kamo·3mo ago
FeatureSecurityService

Gate login on the second factor — §164.312(d)

Completes MFA. The core landed in kamo-shared-library; this is the wire that turns stored configuration into an actual gate. The gate is small because login al...

Kamo·3mo ago
Featurekamo-marketing

Phase 0+1 — instrument the real funnel, unblock first paint

- forward data-* props through MagneticButton/RippleButton (events never reached the DOM) - instrument SharedNavigation, Hero, PreviewBanner, section CTAs; ?ref...

Kamo·3mo ago
Featurekamo-shared-library

TOTP second factor — §164.312(d)

The compliance assessment called the absence of any second factor disqualifying on its own, and under the 2025 Security Rule NPRM MFA stops being addressable at...

Kamo·3mo ago
Featurekamo-login

Add analytics analytics + ?registered=1 welcome notice

- Mount analyticsAnalytics client component in the root layout: next/script loader for analytics.kamocrm.com scoped via data-domains to login.kamocrm.com on...

Kamo·3mo ago
FeatureInitializerService

Create the second-factor tables

Backs UserMfaEnrollment and MfaRecoveryCode in kamo-shared-library — §164.312(d) Person or Entity Authentication, the gap the compliance assessment called disqu...

Kamo·3mo ago
FeatureVOIPService

Require VIEW_CALL_LOGS for call playback in PHI-handling orgs

Recording and voicemail playback checked tenancy and nothing else: any member of the owning org could pull any call in it, transcript included, on extensions th...

Kamo·3mo ago
Featurekamo-internal

Automatic logoff after inactivity (HIPAA 164.312(a)(2)(iii))

A session left open on an unattended workstation stayed usable indefinitely. This terminates it after 15 minutes of no interaction, with a 60-second warning so ...

kamo·3mo ago
FeatureDocsService

Audit WOPI content endpoints and close the last byte-serving gaps

WOPI serves whole documents to Docs and recorded nothing. GET /wopi/files/{id}/contents is the same disclosure as /download, relayed the same way through APISer...

Kamo·3mo ago
Featurekamo-internal

Promote an ingested eligibility matrix from the console

For an ELIGIBILITY_MATRIX source document the ingestion panel now shows a "Promote as eligibility matrix" card: pick the product, limit type (MAX_LTV/CLTV/DTI),...

kamo·3mo ago
FeatureSecurityService

Gateway relay to promote an ingested eligibility matrix

**************** gain promote-eligibility, mirroring promote-adjustments: god-eligible gate, organizationId server-stamped via write(), downstream 4xx relayed v...

Kamo·3mo ago
Featurekamo-internal

Authoring UI — list, line-item editor, share-link management

Completes the quote/estimate system: staff can now build a quote, price it, mint a share link and email it, all from the pipeline. app/lib/quotesApi.ts ...

kamo·3mo ago
FeatureSecurityService

Record lead reads and refuse un-auditable exports

HIPAA §164.312(b) for SecurityService. The platform records every lead CHANGE (LeadHistory) and every login (SystemAccessLog) and records no READ at all, so "wh...

Kamo·3mo ago

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.

Start Free ForeverView Pricing