Webinar booking checks its rights and the type's organisation; an SI brings SIs into its own meetings (SITP TP12)
Owner decision 5 (security gaps fixed with the tools that use them): - /api/webinar: booking (available types, bookable times, a type's sessions, schedule, join...
/imaging/download answers its bytes again instead of 500 (SITP TP13)
Since d1a8762 the download body was a StreamingResponseBody inside the method's ResponseEntity<?>. Spring hands a StreamingResponseBody to its streaming handler...
An event names its organiser; an RSVP that cannot be taken says why (SITP TP12)
- EventDto carries organizerEmail, so the Tool Plane's calendar_rsvp names who the answer is mailed to (and classifies an outside organiser as an external mee...
An SI records or withdraws a lead's call consent (SITP TP11)
leads_record_voice_consent and leads_withdraw_voice_consent over SecurityService's PUT/DELETE /leads/{id}/ai-voice-consent (authorized there like editing the le...
Meetings history and transcripts, calendar answers, presence, notification dismiss/snooze, webinars (SITP TP12)
25 new SI tools, each checked by the same rights at the gateway and at the owning service: - meetings_history, meetings_get, meetings_get_transcript (MEETING, p...
Lead callbacks take MANAGE_LEAD_CALLBACKS, as SecurityService now does (SITP TP10, after TP01)
Files_upload sends the type and digests ConversionService checks (SITP TP13)
ConversionService detects a file's type from its bytes and name and refuses a declared type that differs, then compares the client's Blake3 and SHA3-256 digests...
Files_upload files into My Docs by its ordinal (SITP TP13)
ConversionService refuses an upload whose metadata names no assocType (values()[assocType]), and its own no-metadata default (4) is MEET_RECORDING's ordinal. fi...
Mirror the SITP TP01 rights (410-418) and their parents
MANAGE_PRODUCTS, MANAGE_INVENTORY, MANAGE_RETAIL_CUSTOMERS, MANAGE_FULFILLMENT, MANAGE_RENTALS, MANAGE_PROCUREMENT and APPROVE_PURCHASE_REQUESTS under ACCESS_CO...
Rights on the session-only controllers, with the grant backfill (SITP TP01)
@RequireRight (any-of, tenant RoleRightType) enforced by TenantRightInterceptor before the handler, the tenant counterpart of @RequirePlatformRight: no session ...
SITP TP01 rights for formerly session-only endpoints (410-418)
Nine rights in the TP01 block for endpoints that answered any signed-in member of the organization: - MANAGE_PRODUCTS, MANAGE_INVENTORY, MANAGE_RETAIL_CUSTOMER...
Leads, accounts and communications timelines for SIs (SITP TP10)
54 tools over SecurityService as the SI member, each right checked there as well as here: - leads: create, edit (masked values never written back), assign, bulk...
The quick-insert lists and renders templates through VOIPService's members' door (SITP TP11)
/api/voip/sms/templates is X-Internal-Auth only, so no browser session reached it and the popover always listed nothing. /api/voip/sms/text-templates takes the ...
Shared mailboxes, folders, stars, Trash, labels, attachments in and out, group chats, drips, files_upload, contact groups (SITP TP13)
27 tools and two new arguments, so an SI can work its mail and chat as a person does: - mail: mail_list_folders, mail_flag, mail_delete (to Trash only; a messa...
The phone inbox, the do-not-contact list, contact call consent, text templates and MMS (SITP TP11)
22 new SI tools, each checked by the same rights at the gateway and at VOIPService/EmailService: - phone_list_voicemail, phone_voicemail_mark_read, phone_voicem...
Rights on the lead doors the SI tools use, and the caller's own callbacks due (SITP TP10)
- PUT /leads/{id} takes EDIT_LEADS; a create that assigns someone else takes ASSIGN_LEADS - the lead pool (/leads/available, /leads/accept) takes VIEW_LEADS or ...
One's own text numbers need the Phone tab's rights, not a bare session (SITP TP11)
ACCESS_VOIP, or MANAGE_EXTENSIONS / MANAGE_VOIP_SETTINGS: the rights settings/member opens its Phone tab on, so nobody who sees the card today loses it.
A clinician's direct order never lends an SI the clinical acts
SITP TP00: pins the new SI floor (kamo-shared-library 645068bb) through the No Insubordination delegation: drafting notes, booking and posting payments are lent...
The members' text-template door refuses flat {error, code, reason} (SITP TP11)
The shape every member-facing VOIPService refusal has, so the Tool Plane and the browser read the reason without unwrapping a nested object.
The softphone's own surfaces check ACCESS_VOIP, and members get a session door to text templates (SITP TP11)
- CallController (call history, own voicemail list/read/archive, queues, agent state), missed-calls-seen, the do-not-contact check and SMS send now check ACCE...
Every SI gets the report tools by its rights; config_* gated by rights, not audience
SITP TP00, owner decisions 2026-10-18: - reports_list, reports_run and metrics_get drop CP14's WATCH charter switch: an SI is offered them by VIEW_REPORTS and...
?session= pins an attachment read, an edit, an unsend and a reaction to one conversation (SITP TP13)
The Tool Plane checks a run's audience on the conversation an SI names. A message id or an attachment id alone could reach another conversation the SI also belo...
A shared-mailbox send meets the SI guards; message labels take ?folder= (SITP TP13)
A send as a shared mailbox skipped the checks EmailController#sendEmail runs: an own-domain recipient that is nobody (422 RECIPIENTS_UNKNOWN), the SI thread-tur...
An SI never signs, prescribes, orders, immunizes, breaks the glass, merges charts or bulk-exports patients
SITP TP00, owner decision 2026-10-18: in Patient Records an SI drafts only (and may post payments behind approval). Nine EHR rights join AiRightsFloor.NEVER_GRA...
IoT Devices articles use the product's own words (SP14)
Task 39 audit against origin/main (kamo-internal e20c0af59, KamoMobile, iot-service, kamo-login): the web alarm-rule editor and escalation policies replace the ...
IotConnectionCheck is append-only without @Immutable (every link failed with a 500)
Hibernate 6.5 reads the database-generated checked_at back after the INSERT and then sets a lock mode on the entry; an immutable entry refuses it **************...
The /features metadata names IoT Devices only once it is announced (SP14)
Share devices from the device page and the Devices list through SP04's dialog; one sharing client
Keep @kamo/realtime at its range — chat-core pins 0.1.2 and IoT topics come from @kamo/iot-core
The sharing and SI settings tabs carry their tour anchors as literal attributes
The /settings/iot page - tabs, help, settings-menu topic and landing section
Settings, alarms - maintenance and design suppression, quality figures, and the tab
Settings, alarms - rules with preview and backtest, and escalation policies
Record the SP10 plan deviations and execution decisions in master section 10 [skip ci]
/iot/shared - outgoing shares with keyset paging and safe row actions, the details drawer, and shares received
See-also links for the IoT Devices area (SP14)
Every IoT page gets 3 to 6 links. Eleven existing pages' links change because the new category exists (listed in **************** for import --relations-only). ...
IoT Devices voice, phone, SI, administration and health articles (SP14)
Amazon Alexa (linked from the Alexa app; the skill's own name is the only brand word allowed), what Alexa can and cannot do, KamoMobile, how SI members use devi...
IoT Devices access, sharing, automation and alarm articles (SP14)
Access grants and who-can-do-what, sharing with a named person or a link, revoking, opening a share, one-time codes; automations, backtests, site modes (Occupie...
IoT Devices connection articles (SP14)
One How to Connect article for each of the sixteen services that link with an account or a key, linking Google Home or Apple Home from a phone, what a connectio...
IoT Devices getting-started articles (SP14)
Six hand-authored articles: what it is and is not, turning it on (Settings → My Account → Apps & Features), sites and spaces, which services can connect (no ven...
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.
