CLA AI Hub — Operating Manual
1. At a glance
The CLA AI Hub is the firm's operating system — a single place where partners, managers and staff do the work, and where the work done in every tool feeds back into making the Hub smarter.
Conceptually, five layers stack on top of each other:
- Tools — ~50 purpose-built surfaces (Email Intelligence, Client Brief Generator, Audit Planner, etc.)
- Shared modules — 16+ reusable building blocks (Client 360 lookup, data-freshness badge, PII guard, paste-intent classifier) that every tool can drop in
- APIs — Claude proxy, tool-data store, regulatory feed, learnings oracle, login tracker
- Cross-tool handoff mesh — every tool knows how to pass a client, a draft, an action into the next tool via the
?client=…URL protocol and thecla_output_handofflocalStorage payload - Anticipatory layer — the Hub surfaces what you'll need before you ask: next 48h deadlines, prior briefs, cross-sell gaps, regulatory updates, Friday report prompt
2. Today's shortcuts
The six things partners do every day:
| I need to… | Open | Because |
|---|---|---|
| Triage my inbox | Email Intelligence | Paste thread → Summarise / Actions / Risks / Draft in one pass |
| Prep a client call in 60 seconds | Client Brief | Client 360 lookup auto-surfaces every practice engagement, fee status, past briefs |
| Draft a document | Document Drafter | 20 templates with interview mode for engagement letters, memos, proposals |
| Ask the AI anything | Claude Cowork | Open-ended session with 10 "I want to…" presets |
| Run a quick calculation | Tax Calculator | 15 Romanian calculators — salary, CIT, VAT, penalties, DCF |
| See what's due and what's quiet | Daily Pulse | Firm-wide open decisions, partner-level priorities, fix-today / decide-now queues |
Keyboard shortcuts: ⌘ K opens search on any page. ⌘ ↵ processes the current form. ⌘⇧↵ in Email Intelligence runs Triage all (Summary + Actions + Risks) at once.
3. Tool index
Every tool in the Hub, grouped by purpose. Auto-generated from /shared/tools-manifest.js. Usage percentile comes from the last 7 days of login telemetry via /api/learnings.
4. Anticipatory features
Behaviours that surface automatically — you don't have to remember, search or configure.
Up Next Today
Homepage hero card. Scans every practice cache (Audit, Tax Compliance, BPS, Payroll, Legal) and shows the 6 items due in the next 48h, colour-coded by urgency, each with a Brief and Open button that routes to the right tool with the client pre-filled.
Client 360 live lookup
Any tool with a client-name input shows what the Hub already knows as you type: practice engagements, recent email threads, past briefs. Powered by /shared/client-360.js — one source of truth across Briefing, Drafter, Meetings and anywhere else it's mounted.
Prior brief suggestion
In Briefing, if you type a client briefed in the last 90 days, a gold card offers "Reuse structure" — injects the prior summary, open risks and next steps so the new brief continues the thread.
Cross-sell radar
Homepage card. Compares each client's practice footprint against the firm median and flags the ones below it, with the most-plausible gap filled in ("Acme uses Audit only — peers also use TP"). One click opens Briefing in business-development mode.
Regulatory ribbon
Top strip on 8 practice tools. Curated feed of Romanian regulatory updates (ANAF, CAFR, ASPAAS, OECD, BNR, Inspecția Muncii) filtered to the practice of the page you're on. Dismiss-per-id memory. Edited in /api/regulatory-feed.js — no deploy needed to update.
Post-meeting reminder engine
After Meeting Intelligence produces output, pick Remind me in 3 days / 1 week / 2 weeks. Reminder lives in cla_meeting_reminders and surfaces automatically in the Up Next Today card on the day.
PII redaction guardrail
Before any AI call in Email Intelligence or Cowork, the Hub scans for Romanian CNP, IBAN, card numbers and mobile numbers. If found, a modal offers Redact & send (default) / Send as-is / Cancel. Matches are replaced with [REDACTED-CNP] placeholders.
Smart-paste intent
Paste text into Email Intelligence or Cowork and the Hub classifies it — contract, financial table, regulation, CV, meeting notes, email thread. If the content clearly belongs in a specialised tool, a non-blocking nudge offers to route there.
Last-session resume
Every tool that has a history shows a "Continue: <title> — 14h ago" bar if you touched something within 48 hours. One click reloads the state.
Friday partner report
Hero card on the homepage between Fri 14:00 and Sat 10:00. Aggregates this week's briefs, triaged emails and tool-chain activity into a Cowork prompt. "Draft this week's report in 60 seconds".
Cross-tool activity counter
Homepage card: "This week: Acme Manufacturing — 4 tools, 8 events". Shows where you've been investing attention, per client, over the last 7 days. Click-through → Briefing with the client pre-loaded.
5. Cross-tool handoff mesh
The Hub is not a menu — it's a mesh. Every tool knows how to pass context forward. Two conventions carry the traffic:
The ?client= URL protocol
Any link that navigates to a tool and carries a ?client=<name> parameter will land with that client pre-filled. Receiver pages hydrate from the query string on load.
Examples:
/briefing/?client=Acme%20Manufacturing— opens Briefing with the name, fires Client 360 lookup, filters prior briefs/command/?client=Acme%20Manufacturing— opens Email Intelligence with "Client context: Acme" in the output meta/drafter/?client=Acme%20Manufacturing— opens Drafter with the recipient name set
The cla_output_handoff localStorage payload
When a tool wants to send generated content to another tool (not just a name), it writes a structured payload to localStorage.cla_output_handoff and redirects. The destination reads and clears the payload on load.
Schema:
| Field | Meaning |
|---|---|
kind | draft / reply / actions / risks / brief / memo / formula / metric / feedback |
payload | The text or JSON the destination will process |
meta | Optional context — client name, subject, source action |
from | The originating path |
ts | Timestamp the handoff was written |
Routing table
Each kind routes to a canonical destination:
| kind | Destination |
|---|---|
| draft | /drafter/ |
| reply | /command/ |
| actions | /planner/ |
| risks | /feedback/ |
| brief | /briefing/ |
| memo | /cowork/ |
| formula | /excel/ |
| metric | /controlling/ |
| feedback | /feedback/ |
6. How the Hub learns
The Hub does not sit still. Every day it reads its own telemetry and adapts.
The daily loop
- Observe —
/api/login-trackrecords every tool visit;cla_tool_activityin localStorage tracks handoffs per client; Feedback Hub captures upvotes / downvotes;cla_sync_ts_*marks data freshness. - Aggregate —
/api/learningsaggregates the last 7 days into a structured snapshot (top tools, active users, per-tool usage percentile, firm stats). - Distribute —
/shared/learnings.jscaches the snapshot for 30 min insessionStorageso every page can read it cheaply. - Adapt — tools consume it: the homepage surfaces the tools the firm converged on this week; Briefing modes reorder by pick rate; Cowork quick-starts bubble up what actually gets used.
What the Hub currently knows about itself
Numbers pull from /api/learnings at page load. Refreshes every 30 minutes. The underlying data rolls up every login event and every tool interaction — there's no hidden tracking, just the same telemetry you see in Adoption Intelligence.
8. Data, privacy & ISQM-1
What leaves the browser
AI-facing tools route through /api/claude-proxy. The proxy attaches the X-CLA-User header so only cla.com.ro / claromania.ro users can call it, and rate-limits to 20 requests/minute per user.
PII posture
Before sending any text to the AI, Email Intelligence and Cowork run it through ClaPiiGuard.scan(). Detected CNP / IBAN / card / mobile numbers trigger a modal. Partners can redact, send anyway or cancel. The default is redact.
Where client data lives
- localStorage — browser-only. Holds practice caches (
cla_audit_planner_v2,cla_tax_comp_mgmt, etc.), Client 360 facts, brief history, meeting reminders, recent tool activity. - Postgres (tool-data) — server-side, keyed by user email. Holds tool-level imports and the feedback pipeline.
- Vercel serverless — APIs run stateless in Romania-proximate edges. Environment variables hold Anthropic, Keez, CaseWare, SharePoint secrets.
ISQM-1 evidence trail
Every Hub interaction that produces a partner decision — brief generated, draft approved, calculation run, risk flagged — can be tagged as ISQM-1 evidence and rolled up in the ISQM-1 Builder. The Builder reconciles Excel short references (3a, 3.01) with the canonical qualified codes (QO-C2-3a, QR-C2-3.01) via the notation bridge shipped 2026-04-23.
9. Adoption & analytics
Three surfaces show the firm how the Hub is actually used:
- Adoption Intelligence — per-practice adoption rates, training gaps, prompt quality
- Use Analytics — practice-level drill-down for partners
- Team Activity — who logged in this week, per-user tool roster, inactive flags (current partner and service accounts auto-filtered)
All three read from the same telemetry the Hub Learns loop aggregates daily — the metrics above and the ranking of tools in section 3 share one source.
10. Changelog
Last 20 commits to main. Pulled live from the deploy via /api/changelog.
11. Support & feedback
- Report a bug, request a feature, upvote an idea — Feedback Hub
- Product owner — Ionut Zeche (
ionut.zeche@cla.com.ro) - BI & Automation team —
bi-automation@cla.com.rofor technical coordination - ISQM-1 matters —
isqm1@cla.com.ro - CLA Global escalation — via Hugo Pinto (Tech & Innovation) or Daniel Murphy (People & Culture)
For non-trivial feature requests, attach a 2–3 sentence description of the decision the feature would help a partner make faster. The Hub is oriented around decisions, not features.
12. Glossary
| Client 360 | The live view of everything the Hub knows about one client — practice engagements, email mentions, past briefs, fee status — assembled on-the-fly from every practice cache. |
| Client Actions Bar | The teal "Pick a client → Brief / Email / Draft / 360°" widget mounted at the top of every practice-management tool. |
| Cross-tool handoff mesh | The convention by which any tool can pass a client, a draft or an action to the next tool without a copy-paste (see section 5). |
| Decision Memory | The accumulated history of decisions the Hub has helped a partner make — stored per-user, surfaced as "prior briefs", "last session", "you chained 4 tools on Acme this week". |
| Dual-ref | The pattern of showing both a Hub canonical ID and the user's original source reference (Excel, CaseWare, Keez) so cross-walk is one glance, not a lookup. |
| Learnings oracle | /api/learnings — the daily aggregate snapshot every tool reads to adapt its defaults. |
| Up Next Today | Homepage card listing everything due in the next 48 hours across every practice cache. |