LockFlare

Every action, on the record.

Nothing that changes state happens without a record. Pushes, promotions, reloads, resets, seals, permission changes, sign-ins and failed sign-ins — a per-project log of who did what, when, and from where, filterable per project and per member. When the compliance question comes, the answer is already written.

# billing — activity 18:40 marcos promote UAT → Live 7f3a…c91e 203.0.113.40 17:02 ana push UAT 7f3a…c91e 198.51.100.12 16:55 ana variable UAT STRIPE_KEY 198.51.100.12 15:10 marcos seal srv-01 203.0.113.40 09:14 ana push Development 2b7d…40aa 198.51.100.12 08:03 vendor sign-in refused — outside hours 203.0.113.77 # the fact of each change. never its contents.

What is recorded

Each entry carries the actor, the time, and the originating IP address.

Pushes and promotions

With the version hash and the target environment — so the question "is Live what we tested?" has a written answer.

Project changes

Source folder, starting file, worker model, attached frontend, domains.

Environment and server changes

Environments created, servers registered or removed, licenses issued, resets triggered and how each server answered.

Seals and unseals

Who sealed which server and when, and who opened it again.

Sign-ins

Successful and failed, with the reason a rule refused one, and every account change.

Team changes

Members added, permissions altered, accounts disabled or removed.

The record you hand to an auditor

Mostly it answers the ordinary question: something changed — when, and by whom. A push you did not expect, an environment running an older version than you thought, a setting that is not what it was last week. Per project, in the project's Activity pane; per member, from their row in Team management.

Deployments to regulated infrastructure usually need to show who changed what and when, and that is exactly what the log holds. It records that an action happened, not its contents: a push is recorded with its version hash, and the code in it is not readable from the log because it is not readable anywhere outside your own server's memory. A variable change is recorded as a change — the name and the actor, never the value.

# filter — member: vendor-dev · last 30 days pushes Development 14 · UAT 6 · Live 0 promotions 0 seals 0 (not permitted) sign-ins 41 ok · 2 refused by rule # exported as a file, for the auditor who asked.

And the fleet, live

Monitoring is one card per server — hostname, IP, uptime, and two gauges, latency and heap, on fixed scales rather than each server's own numbers, so machines compare at a glance. Polled every ten seconds while the window is in front of you; polling stops when it is hidden and refreshes once the moment you come back.

Green, amber, red

Latency under 100 ms, 100–200, over 200. Heap under about 280 MB, up to about 420, beyond. The verdict chip, the online count and the averages follow the environment you scoped to.

Unreachable means unreachable

A server that does not answer shows a greyed dial and a dash — never a needle parked at zero in the green, which would read as "healthy and fast", the opposite of true. It is almost always port 80.

The full payload, beside the grid

Click a card for PID, Node or .NET version, platform, cores, heap used and total, RSS, uptime, and the domains that server is answering on — in a side panel, so the other servers do not move while you compare.

Built for the compliance conversations you will actually have

Tell us which framework you answer to, and we will show you what the log and the board give the person asking.

Contact us