PlatformAudit Log

The audit log you would otherwise never build.

Every Remy app keeps an enterprise-grade record of who did what, when, from where, and to what, across the workspace and inside the running app itself. The developer instruments nothing. It is a property of the platform.


01

The first thing a security review asks for

Audit logging is one of the hardest things to retrofit onto an app, and one of the first things a security review asks to see. A hand-built app threads logging through every handler by hand, and the best it usually manages is proof a route was hit, not a record of what a person did. A Remy app inherits the opposite by construction: a trail that reads like a sentence, tied to a real identity, immutable, and exportable to the tools the security team already runs.

Without Remy: the access log

POST /api/approve 200

a route and a status. not who, not what, not whether it should have been allowed.

Captured at the platform edge · no code added

With Remy: the audit event

Alice approved a vendor request

Actor
Alice Chen · alice@acme.com · ApproverSign in with Remy → workspace member
Action
method.execute · Approve Vendor Request
Resource
Vendor Request #4821
Outcome
success · 142 ms
Context
203.0.113.42 · San Francisco, US · session
Time
2026-02-14 · 17:02:04 UTC

Immutable · append-only · exportable (OCSF 1.8.0)

02

One path in

Every backend method call passes through a single execution point, and that is where the platform captures it. Three things make the record meaningful, and none of them are the developer’s job:

One edge
The same capture, for every app, with no way to opt out or forget.
Methods are contracts
A method has a human name and a description, so the log records the meaning of the action (“Approve Vendor Request”), not a URL and a status code. That is the difference between an access log and an audit log.
Real identities
Authentication is the platform’s job, so every event names a resolved person, and the true principal is kept even when someone acts on another’s behalf.

Capture is fire-and-forget, so it never blocks or breaks a request. The developer writes no audit code; the app gets who did what, when, and from where, at a semantic level, for free.

The log, newest-first.

The log, newest-first. Filterable by action, actor, app, and outcome, with a live recent-activity feed.

03

One trail, three scopes

Most systems audit the control plane or the application. Remy records both, in one schema, so a single trail runs from “an admin changed a role” down to “a user ran a method.”

Workspace
Who administers the organization.Roles, settings, API keys, billing.
App lifecycle
Who builds, deploys, and configures an app.Deploys, secret reveals, custom domains.
Inside the app
Every method an authenticated person invokes.

That last scope is the one almost nobody else has. It fires only for authenticated humans, so the log stays signal, not noise, and each entry reads as the method’s real name, never a handler.

04

Built to pass the review

Complete
The full control plane plus activity inside the app.
Trustworthy
Written to immutable, append-only storage with S3 Object Lock. It cannot be edited or deleted, even by an owner, and reading it is itself logged.
Exportable
Any date range, as NDJSON or OCSF 1.8.0, the schema Splunk and other SIEMs ingest natively.
Access-controlled
Viewing takes an explicit permission, and tenant isolation is enforced on every read.
remy-audit-2026-02.ndjsonOCSF 1.8.0NDJSON
1,204 events · 2026-02-01 → 02-14 · org-filtered, server-assembled
1
{ "category_uid": 6, "class_uid": 6003, "time": 1784327546722, "status_id": 1, "message": "method.execute: Get Account", "metadata": { "version": "1.8.0", "log_name": "remy-audit" }, "actor": { "user": { "name": "dmitry@goremy.ai" }, "app_name": "Remy" }, "src_endpoint": { "ip": "2a06:98c0:3600::103", "location": { "city": "San Diego" } }, "unmapped": { "outcome": "success" } }
2signin_with_remy.grantsuccess
3app.deploy: Remy Marketing Sitesuccess
4secret.reveal: SALES_BENCH_SERVER_TOKENsuccess
5method.execute: Get Runfailure
… 1,199 more
Lands in your stack
SplunkAWS Security LakeMicrosoft SentinelGoogle SecOpsDatadogSnowflake

Exported to your SIEM. Any date range downloaded as OCSF 1.8.0 or NDJSON, server-assembled and org-filtered.

05

The same edge that records also meters

Every call already passes through one platform edge to get logged. That edge also knows what the call cost, per method, per user, per model, split between building the app and running it. Because every paid model call routes through the platform, this is true unit economics, not a bill you reverse-engineer after the fact.

06

None of it assembled by hand

Enterprise audit logging is normally a line item, an integration, and a permanent instrumentation burden. Here it is ambient: every app, no effort, tied to real people, immutable, and ready for the security team’s existing tools. It is a large part of how an app someone described in a sentence clears a real security review.

Start building on Remy.

Everything you just read is standard in every app, running from the first deploy.

Start building← Back to the Platform