Inherited Platform Audit and Remediation
A scheduling and dispatch platform delivered quickly by a contractor who then left, audited, documented, and made safe for an internal developer to change.
A desktop agent, a Microsoft Graph service, and an approval step that no configuration removes.

Metadata only
Scope of Agent Observation
Application identity, window titles, and timing. The content of a document, an email, or a message is never read. The design objective is a product an information security function can approve without contention.
Nothing filed automatically
A Rule Rather Than a Setting
Every entry remains a draft until a person approves it. No configuration disables the approval step, because a tool that bills a client unsupervised is a liability rather than a feature.
The unrecorded minutes
The Design Target
Short work between scheduled activity is the portion memory loses first and the portion that accumulates across a week.
Fee earners reconstruct an entire working day from memory. The scheduled meeting is remembered. The short, unrecorded work between meetings is not, and most firms write it off.
Billable time is lost in the interval between performing legal work and recording it. The work occurs throughout the day. The timesheet is completed at the end of it, from memory.
The timer is the established remedy. It is a control pressed at the start of an activity and pressed again at the end, and it performs well for exactly the work that was never at risk: the scheduled call, the drafting session entered deliberately. It fails across the interruptions in between, because operating a timer is itself a task and an interruption is the event that stopped tasks being completed.
The second approach derives entries from the calendar. That yields the meetings and nothing further, and a fee earner’s diary describes their day poorly beyond the first hours of it.
The third approach is full capture of keystrokes, screen contents, and document text. It is technically the most accurate method available and it is unacceptable to a risk committee, correctly so. Material moving across a lawyer’s screen is privileged. Any product proposing to read it must justify that access to a committee with no reason to accept the exposure.
BillUp is a Sunlab Digital product. A desktop agent on macOS and Windows records which applications are frontmost and for how long, and a cloud service reads the Microsoft 365 estate, covering mail, calendar, files, and meetings, through Graph. Neither component reads content. What is captured is metadata and timing, which is sufficient to reconstruct a day and narrow enough to present to a firm’s information security function without an argument.
That constraint governs the architecture. The macOS agent uses the accessibility and workspace APIs to establish that Word was frontmost for nineteen minutes against a particular document title. It cannot read a paragraph of that document. The Windows implementation observes equivalent information through the platform window and session APIs. The Graph integration requests the narrowest scopes that satisfy the requirement: subjects, participants, timestamps, and file identifiers. Every one of those scopes is presented to a tenant administrator in plain language on the consent screen before it is granted.
Where a signal is genuinely ambiguous, ambiguity is preferred to intrusion. An hour spent in a document whose title does not identify a matter is presented as an entry with a low confidence score and an empty matter field rather than as an inference presented as fact.
Entries arrive drafted and classified, each carrying a confidence score. The fee earner approves, edits, or discards them. Approved time is transmitted to the firm’s billing system. Nothing is submitted on behalf of a person.
The confidence score required the most development effort, because the available shortcut is to report a number the model produces about itself, and a model’s stated certainty measures nothing. The reported score is assembled instead from properties that can be checked: how cleanly the activity clusters in time, whether client and matter resolve through more than one independent route such as an attendee domain, a file path, and a matter reference in a subject line, and how closely the day’s pattern matches entries this fee earner has already approved.
That has a useful consequence for the review interface. High-confidence entries can be approved in a batch without individual reading, which concentrates review time on the entries that require judgment. A tool demanding equal attention for every row returns no time to anyone.
The narrative is the component where a language model contributes most and where the product carries the greatest exposure. A narrative must survive review by the client’s accounts payable function and, in due course, by a costs judge. It must describe the work in the conventions of the firm, which differ between firms and sometimes between departments.
The model therefore receives the metadata, the firm’s approved phrasing, and a constrained instruction: describe this activity, in this house style, at this length. It is not permitted to characterize the work, estimate a duration, or infer a matter that the deterministic resolution step could not establish. Everything it produces enters a draft that a person reads. The same rule governs Conductor: the model reasons and proposes, and code that can be tested determines what is permitted to happen.
A product sold into law firms is adopted or rejected on its review pack, which is treated as a deliverable rather than as documentation produced after the fact. It states exactly what the agent reads, where each field is stored, how long it is retained, which Graph permissions are requested and the purpose of each, how tenants are isolated, and what happens to the data if the firm departs.
Adoption in this market follows from that document rather than from the classifier. The decision is made by a risk function, and the objective of the security model is that the risk function can identify no objection in it.
BillUp does not read documents, does not record screens, does not score individual fee earners against one another, and does not file time without approval. Each of those capabilities would improve a demonstration. Each is also a reason a product of this kind is disabled across a floor within a week, and a tool that people quietly disable returns less value than no tool at all.
The same three commitments hold whether we're handing over a board, a platform, a model, or a campaign. They're terms of engagement rather than features, which is why they sit outside the write-up.
A scheduling and dispatch platform delivered quickly by a contractor who then left, audited, documented, and made safe for an internal developer to change.

Computer vision reads an entire deck in real time, replacing gate estimates with live occupancy by level and row for operators and drivers.
Our Own ProductConductor selects components, reads the datasheets, validates the electrical contracts, and returns a bill of materials and a schematic that can be built.
Send a short description of the system, current architecture, known issues, required integrations, and target outcome. A fixed-fee technical assessment is available when the scope is not yet defined.
hello@sunlabdigital.comSend Us the DetailsSt. Petersburg, Florida · we work with teams anywhere