Skip to content

Engineering

How we build software people depend on.

These practices come from how UNL Assets and UNL Relay are built today. Each one points to something specific in the code, not a slogan.

unl.dev / ci on every pull request
  • lintruns
  • format checkruns
  • type-checkruns
  • testsruns
  • production buildruns

01

Security first

Isolation and authorization live where they can't be skipped: in the database and on the server, not in the browser.

In practice

  • UNL Assets enables row-level security on every table, so each query is scoped to the signed-in company before application code runs.
  • Server code that uses an elevated database key is treated as a privilege boundary and authenticates the caller itself.
  • Secrets are read only in server-only modules, which are never imported by browser code.
  • Sign-in and sign-up are protected by Cloudflare Turnstile, verified on the server.
  • Security review findings are fixed with regression tests, so the same hole can't quietly reopen.

02

Least privilege

Every key, role and person gets the narrowest access that still does the job.

In practice

  • UNL Relay's email key can send mail and nothing else.
  • The Relay console requires Microsoft Entra sign-in and an explicit assignment per person.
  • View-only users can read every page and export CSV, and every change they attempt is refused.
  • UNL Assets companies use owner, admin and member roles, checked in the database.
  • Storage access for sign-in sessions uses scoped links that expire, tracked for renewal.

03

Tested and gated

The tests cover the parts that are expensive to get wrong: money math, access rules and the database itself.

In practice

  • UNL Assets runs Vitest unit tests for depreciation, lease accounting, imports and access, plus SQL tests that assert database security rules.
  • Playwright checks key screens in a real browser.
  • UNL Relay's pytest suite runs against synthetic payroll files. Real payroll data never enters a repository.
  • CI runs lint, format checks, tests and a production build on every pull request, and merges go through pull requests.

04

Observable

You should know it's healthy without reading logs, and hear about it when it isn't.

In practice

  • Each Relay function app logs to Application Insights, with no amounts or employee data in any log.
  • The console overview shows what's waiting, what failed and when QuickBooks last checked in, and turns amber when check-ins go quiet.
  • A morning check emails only when something needs attention, so silence means healthy.
  • Every email Relay sends or fails to send is listed in the console.

05

Safe to retry

Anything that can fail halfway is designed so running it again is harmless.

In practice

  • Before posting, Relay asks QuickBooks whether each reference number already exists, so a retry can't post twice.
  • Each alert is claimed once and sent with an idempotency key, so a retried run doesn't email twice.
  • Held files can be fixed and re-sent; the pipeline checks them again from scratch.
  • A failed email never affects payroll processing.

06

Private by default

Sensitive data shows up only where someone needs it, and nowhere else.

In practice

  • Relay strips dollar amounts and employee data from emails, logs and console lists. Amounts appear only on an entry's detail view and in a CSV export.
  • Credentials live in a password manager, never in a repository.
  • Private hostnames, project references and test accounts stay in local, ignored notes with a committed template.
  • This site sets no cookies and loads no third-party scripts.

07

Clear about consequences

Interfaces follow the Unleashed Workbench Design System: plain copy that names the object and states what happened.

In practice

  • Error messages say whether any data changed.
  • Empty states give an instruction and one action, not an apology.
  • Destructive actions name what they affect and what is kept, then ask to confirm.
  • Both light and dark themes are first-class, with visible focus on every control.

Want this applied to your systems?

Unleashed Technology builds integrations, web applications and infrastructure with the same habits. Start the conversation there.