PlanyDocs
Services

AuditService

plany.audit.v1.AuditService — the record of every change made on your account.

Endpoint api.plany.cloud:443 · Guide · Reference

accounts/{account}/auditEvents/{audit_event}

Every change made on your account — by a person in the console, by the CLI, by a CI job with an API key — is recorded: who, with which credential, from where, to what, and whether it worked. The record is read-only. Nothing can add to it, edit it or remove from it, and you can prove that.

CallWhat it does
ListAuditEventsThe record, narrowed by filter.
GetAuditEventOne entry.
SummariseActivityCounts over a time_range — who did how much, and how much of it failed.
VerifyIntegrityConfirms that nothing in the record has been altered or removed.
Activity

Questions the filter answers

SetTo see
resourceEverything that ever happened to one game server.
principalEverything one person or service account did.
credential_idEverything one API key did — the first thing to run if a key leaks.
failures_onlyOnly calls that were refused or failed, such as a run of denials from one key.
method, serviceEvery call of one kind, everywhere.
project, location, time_rangeWhere and when.

The record is for the whole account rather than one region, so one query covers every region you have resources in.

Verifying the record

VerifyIntegrity needs audit.auditEvents.verify, which the account owner holds and an administrator does not. An administrator can read the record but not verify it, because an administrator is one of the people it might be evidence about.

What is left out

Sensitive request fields are removed before an entry is written: a password never reaches the record, and neither does a build's Steam password or an API key.