Add an alias domain end to end, guided for a non-technical owner
Settings -> Email -> Domains -> Alias domains: - Adding a domain the organization hasn't proved yet now adds it to the organization's domains and shows the on...
Alias domains sign with the org domain's own DKIM key
An alias domain is an organization domain, and SecurityService already gives every org domain one DKIM key (org_domains.dkim_*), the record the owner is told to...
The tour card no longer glides across the screen when its side changes
A target that is still loading can flip the card between sides, a bottom sheet and the middle; it now snaps on a change of mode and glides only along the same s...
The composer's signature follows the alias being sent from
The template preview was requested with templateFrom, which skips aliases on purpose - a rule from when the composer resolved signatures itself. So with Dylan@k...
The SI's voice card says, in plain words, the voice heard on calls and in meetings (TPSAMEVOICE)
or which voice each path speaks when the live calling model does not offer the chosen one, and the voices that keep them the same are marked 'Calls and meetings...
Tools across the top, folders down the left
A member reported the mail client's left column was so crowded they could see about one folder at a time, and that New Message was out of proportion with everyt...
One voice per SI on every channel: the voices view names the voice heard on the cascaded pipeline and on the live voice model (TPSAMEVOICE)
speech API voices it accepts (probed) and its own; their genders are curated. The voices view gains 'effective' (speech + live voice, same or closest) and marks...
Back in the E-Signatures tour restores the Document Manager tab
The tour switched tabs on click but never pinned them, so Back left the screen on the later tab. Steps now name the tab (?tab=) and the Document Manager follows...
A second window on an open conversation folds into the first
A chat opened by member id and one opened by session id (the Interaction Center bubble) share no key the store can dedupe on until the first resolves its sessio...
The SI Assistant tour opens its window when a step points inside it
A member who went past 'Open the assistant' without clicking it was shown 'This part isn't showing on your screen' on every following step. A step can now name ...
The role editor and app names say SI, not AI, for the SI Assistant and SI Workforce
The role editor and app names say SI, not AI, for the SI Assistant and SI Workforce
A fresh tab no longer signs the member out everywhere
A link opened from an email (e.g. "View your report") lands in a new tab with empty sessionStorage. That tab has no session, goes to /logout, and /api/logout fa...
Tracking Codes grid keeps a minimum height so the page scrolls on short screens
Register a patient's name, birth date and sex labels are no longer struck through by the border
Register a patient's name, birth date and sex labels are no longer struck through by the border
Word the page for a first password when the link says setup=1
A member an administrator added has never had a password, so the welcome letter's link opens the same page worded as Set, not Reset.
An added member's welcome lets them set their first password
A member an administrator adds has no password, so the plain WELCOME's Sign in button led nowhere. Send WELCOME_SET_PASSWORD instead when the account has no pas...
Date of birth moves to the next part after each full pair of digits
The native date input only advanced in some browsers, so the desk had to Tab between month, day and year. Registration, demographics edit and the insurance hold...
WELCOME_SET_PASSWORD, the letter for an account that has no password yet
An administrator who adds a member creates a user with a null password. The plain WELCOME told them to sign in, which cannot work. This letter carries the set-p...
A floated label no longer has the field border running through it after a field is cleared
Select labels no longer leave a gap in the outline when a field is cleared
Records office tab strip no longer jumps between tabs
The Export buttons shared the header actions row with the tab strip, so the strip moved whenever the Exports tab was selected. The buttons now sit in the Export...
Records office tab strip no longer jumps between tabs
The Export buttons shared the header actions row with the tab strip, so the strip moved whenever the Exports tab was selected. The buttons now sit in the Export...
Copy a tracking code from the picker and drawer headers
The headers show only the eight-character handle. Add a copy button beside it that copies the full code, so a member already in the link picker or code drawer d...
Floating label in the New/Rename tracking code dialogs was clipped
The dialog body clips overflow and its top padding was smaller than the notched label, so 'Label (optional)' was cut off. Give the field top margin.
Plan buttons share one row and one look; section headings stay legible
The Business card was scaled and pulled up on xl, so its button sat lower than the rest and was the only green one. Cards now sit level with one CTA style. .hea...
The failed meeting recap card with Send again (TPRECAPFIX)
**************** what the supervisor's "couldn't send the recap" alert opens: which meeting, what happened and how to fix it in plain words, what did go out, an...
The SI Assistant is called by the member's name for it, everywhere it is labelled
Owner change 2026-10-28: the nav item, the window title (title bar, tab, taskbar head) and the window header say "SI Assistant" while the assistant has the defa...
Cite only the knowledge-base articles an answer used
Owner bug 2026-10-28: "Give me a taco recipe" answered with help-center articles under Sources. Retrieval runs before the model answers, so it always returns it...
The owner's bill pill on the launchpad, and /billing
A pill left of the storage meter, for organization owners only, saying whether the organization's bill from the platform is paid, due or overdue. Calm when paid...
My Bill — an organization owner's own bill from the seller's ledger
GET /api/security/pos/my-billing answers the owner's state (current, due, overdue), open invoices, the estimated next renewal, past invoices, the seller's remit...
Estimate the next renewal, and find an organization's own subscriptions
For the customer-facing My Bill page: the next renewal as it would be raised today (never saved), and the subscriptions an organization is the target of.
A member's signature prints the address the letter goes out from
The member's own signature always printed the profile's email - their primary mailbox - so mail sent as Dylan@kamouniverse.com (an alias, or the mailbox on an a...
Mark the adverse-action clock's Spring constructor, so SecurityService boots
With a second (test) constructor and neither marked, Spring looked for a no-argument one and the new pods crashlooped; the older pods kept serving.
A kick takes the SI out by member, not by the participant row's call id (TPENGAGE)
Found in the sanity run (call 7b3aa471): the row named an older call (the SI came back through kamoai-service's own join, which never updates it), so the kick h...
Pricing, capital and servicing policy tabs load before a first version is published
GET **************** built its body with Map.of("active", <active or null>, "history", ...). Map.of refuses null, so for any organization that had not published...
A kicked SI is out for good, the sweep's dials say they are automatic, and the SI's own picture rides to its tile (TPENGAGE)
- DELETE **************** a signed-in person in the meeting kicks an SI out (Prosody never lets anyone kick the SI's Jigasi leg, it is a server admin); REMOVE...
UseMlosLabels builds its result in one expression
The groups type came from an `as const` object, so its properties were read-only and assigning each group failed the production type check (next build). Built w...
The decision trail shows the SI decision it asks a person to judge
The trail's header said decision details were "coming soon", so a reviewer confirmed, modified or overrode a decision they could not see. It now shows what the ...
Read one SI decision for its review trail
GET **************** what the SI decided, why, how sure it was, the stage and function, the gate's result, and the loan it is on — only for a decision on one of...
Status words follow the member's language everywhere in the consoles
Fifteen English status lists (requirement status, party, waiting on, vendor, closing package and artifact status, MERS operations and status, workflow scope, re...
The last English-only mortgage consoles speak the member's language
Delivery coverage, the pull-through funnel, close-model reliability, scenario compare, the best-execution explainer and the borrower address fields were text in...
The back-office consoles name things, never show internal ids
- loan sale desk: a commitment reads as the investor's commitment number (else when it was opened), an allocation's loan as its borrower and loan number (it...
The lead's mortgage scenario workspace speaks the member's language
All 17 scenario cards were English-only text in code, and the rules behind them produced English sentences. The rules now carry a code with their values (insigh...
People, loans and fingerprints in words on the loan page and closing strip
- the closing pipeline strip names each package's loan by borrower and full loan number instead of "Loan " + 10 digits of a loan-file id - the clearance matri...
The documents console names loans and packages in words, in the member's language
The pipeline clearability roll-up printed the first 14 characters of an internal loan-file id for each loan, and MERS reconciliation the first 14 of an internal...
Name loans by borrower and loan number from their loan-file ids
GET **************** (at most 200): borrower name and loan number (the application id) for each, staff only, own-loans aware. For the consoles that only hold lo...
The underwriting console's tools speak the member's language
The guideline exception queue, the income calculation, the fraud / 4506-C orders and the large-deposit screen were English-only text in code; every label, messa...
Pick a loan by borrower or loan number, never by typing an internal id
The underwriting console's income, fraud/4506-C and large-deposit tools and the documents console asked staff to type a "Loan file UID" or a "Mortgage applicati...
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.
