Buff Development
Audit log

Event catalogue

All audit log events by category: the code, what is recorded, the operation class and the severity.

Every log entry carries an event code of the form category.action. The code is stable — you can rely on it in your SIEM filters and in scripts; the description next to it is what a person sees in the interface. The category is the first part of the code; the filter buttons in the section work by it.

Operation is the class of action (create, modify, remove, access, authentication, transfer, execute). Severity is info, notice, warning or critical; on a refusal the event’s severity goes up one step (a refused sign-in is recorded as a warning).

Both success and refusal are recorded for every event — except routine operations marked “refused”: they go into the log only when refused.

Sessions and sign-in

Event codeWhat is recordedOperationSeverity
session.loginSign-in: password accepted, code sentauthenticationinfo
session.login_confirmSign-in confirmed with a codeauthenticationinfo
session.code_resendConfirmation code sent againauthenticationinfo
session.refresh_deniedSession refresh refusedauthenticationwarning
session.logoutSign-outauthenticationinfo
session.register_startSign-up startedcreatenotice
session.registerSign-up completedcreatenotice
session.password_reset_startPassword reset requestedauthenticationnotice
session.password_resetPassword resetauthenticationnotice
session.password_change_startPassword change requestedauthenticationnotice
session.password_changePassword changedauthenticationnotice
session.org_connectConnection to the organisation (address and browser)authenticationinfo
session.sso_startSingle sign-on startedauthenticationinfo
session.sso_loginSign-in with single sign-on (SSO) — “account created automatically” or “linked”authenticationinfo (refusal — warning)
session.operator_loginPlatform operator signed in to the demo account — via a one-time link from the admin panel; the entry names the operatorauthenticationnotice (refusal — warning)
session.sso_linkAccount linked to the provider’s identityauthenticationnotice (refusal — warning)
session.device_approveBuff Code device sign-in allowed — the device name and the organisation the sign-in was issued forauthenticationnotice
session.device_denyBuff Code device sign-in denied — the device nameauthenticationnotice
session.device_refresh_deniedDevice token refresh refused (refusals only) — the device numberauthenticationwarning
session.device_reuse_revokedDevice revoked: its refresh token was used again — the token may have been stolenremovewarning
session.device_revokeBuff Code device revoked — the device numberremovenotice

Requesting a sign-in code from Buff Code and waiting for confirmation do not count as events — what is recorded is the person’s decision on the sign-in page. Sign-in codes, tokens and the device key never go into the log. See Sign-in and working context.

Organisation

Event codeWhat is recordedOperationSeverity
org.createOrganisation createdcreatenotice

Members and permissions

Event codeWhat is recordedOperationSeverity
member.inviteMember invitedcreatenotice
member.removeMember removedremovenotice
member.owner_setOwner status changedmodifycritical
member.grant_setMember rights changedmodifynotice

Projects

Event codeWhat is recordedOperationSeverity
project.createDevelopment project createdcreatenotice
project.space_createSpace createdcreatenotice
project.repo_syncRepository syncexecuteinfo
project.devprep_runTools preparation runexecuteinfo
project.audit_runProject audit runexecuteinfo
project.tests_refreshTest list refreshexecuteinfo

Repositories

Event codeWhat is recordedOperationSeverity
repo.importRepository addedcreatenotice

Tasks

Event codeWhat is recordedOperationSeverity
task.createTask draft createdcreateinfo
task.editTask draft changedmodifyinfo
task.submitTask submitted for workexecutenotice
task.cancelDraft cancelledremoveinfo
task.stopTask stoppedexecutenotice
task.resumeTask resumedexecutenotice
task.closeTask closedmodifynotice
task.clarify_answerClarification answeredcreateinfo
task.gate_decideDecision on the formulationmodifynotice
task.tests_decideDecision on failing testsmodifynotice

Review

Event codeWhat is recordedOperationSeverity
review.approveChanges approved, the PR/MR is being publishedtransfernotice
review.reworkSent for reworkmodifynotice
review.finding_addFinding addedcreateinfo
review.finding_decideDecision on a findingmodifyinfo
review.finding_editFinding changedmodifyinfo

Ask

Event codeWhat is recordedOperationSeverity
ask.create“Ask” conversation created; for a question about development sessions — with the list of sessions in the setcreateinfo
ask.messageMessage to an “Ask” conversationcreateinfo
ask.answerAnswer to the model’s question (“Ask”)createinfo
ask.rename“Ask” conversation renamedmodifyinfo
ask.delete“Ask” conversation deletedremovenotice

Development sessions

Event codeWhat is recordedOperationSeverity
ide.session_viewSomeone else’s development session viewed — one entry per viewaccessnotice
ide.session_exportDevelopment session exported (Markdown or JSON, own or someone else’s)accessnotice

The list of your own sessions and viewing your own session are reading your own data and are not recorded. Model calls from Buff Code are spending; they are recorded in the session itself and in billing; calls to the connections’ tools are kept in the connector’s call log. See Audit log and Buff Code.

Research

Event codeWhat is recordedOperationSeverity
research.createResearch createdcreateinfo
research.messageMessage to researchcreateinfo
research.stopResearch stoppedexecutenotice
research.renameResearch renamedmodifyinfo
research.deleteResearch deletedremovenotice

Credentials

Event codeWhat is recordedOperationSeverity
credentials.setRepository credentials savedmodifynotice
credentials.deleteRepository credentials deletedremovenotice

Single sign-on

Event codeWhat is recordedOperationSeverity
sso.config_setSingle sign-on set upmodifycritical
sso.config_deleteSingle sign-on turned offremovecritical
sso.domain_addDomain claimed for single sign-oncreatenotice
sso.domain_verifyDomain verifiedmodifynotice
sso.domain_deleteDomain removedremovenotice

Plan and models

Event codeWhat is recordedOperationSeverity
billing.tariff_setPlan changedmodifynotice
billing.model_chooseModel chosenmodifynotice
billing.requestRequest submittedcreateinfo

Rented capacity

Event codeWhat is recordedOperationSeverity
rental.tier_setRented VM class chosenmodifynotice
rental.startRented VM start requestedexecutenotice
rental.stopRented VM stoppedexecutenotice

Connectors

Event codeWhat is recordedOperationSeverity
connector.pair_codeConnector pairing code issuedcreatenotice
connector.enrolConnector pairedcreatenotice
connector.refresh_deniedConnector session refresh refusedauthenticationwarning
connector.report_failedConnector report refusedmodifywarning
connector.eventTracker request acceptedcreatenotice
connector.event_refusedTracker request author refusedcreatenotice
connector.event_failedTracker request failedcreatewarning
connector.repo_importRepository import via a connectorcreatenotice
connector.publishPR/MR publication via a connectortransfernotice
connector.revokeConnector revokedremovecritical
connector.connectConnector connectedauthenticationinfo

Knowledge base

Event codeWhat is recordedOperationSeverity
knowledge.createKnowledge created; if the entry was proposed by the model in Buff Code and confirmed by the developer — “from Buff Code”createinfo
knowledge.editKnowledge changedmodifyinfo
knowledge.flag_setKnowledge flags changed (“show to the model upfront” / “permanent”)modifynotice
knowledge.archiveKnowledge archivedremovenotice
knowledge.archive_taskTask finished: the knowledge in its scope moved to the archive (one event per task, with the list of names)removenotice
knowledge.restoreKnowledge restored from the archivecreatenotice
knowledge.reviewed“Needs review” flag removedmodifyinfo
knowledge.flag_reviewThe model flagged knowledge as “needs review” (a pipeline action)modifynotice
knowledge.refreshKnowledge base pass startedexecuteinfo

What is recorded is the entry name, its scope (for a task entry — “project · task #N”) and type, which fields changed and what the flags were before and after; the entry body does not go into the log — the log is not a text store. Everything the model does with the knowledge base — at any stage of the work and in passes — arrives as pipeline actions (the actor is “system”) with the stage and the task in the details. Viewing the section is not logged, like any reading. See Knowledge base.

Audit log

Event codeWhat is recordedOperationSeverity
auditlog.exportAudit log exportedaccessnotice
auditlog.verifyLog integrity checkedaccessinfo

Pipeline (system)

Event codeWhat is recordedOperationSeverity
pipeline.*Pipeline actions (task closed, merge conflict, review, VM…)executeinfo

Platform operator

Event codeWhat is recordedOperationSeverity
operator.*Platform operator actions on the organisationmodifynotice

Notes on individual events

  • session.login — the password was accepted and a confirmation code sent; the sign-in itself completes with the session.login_confirm event. A refusal in session.login means a wrong password or login; a refusal in session.login_confirm means a wrong code. Both are recorded in all the organisations the person belongs to: the owner of each sees their member’s sign-in attempts.
  • session.org_connect — connecting to the organisation’s space; this is where the address and browser are captured for the later actions in this session. Recorded every time the app is opened.
  • session.refresh_denied — session renewal refused: the token was revoked (sign-out, password change) or reused — the latter is worth checking.
  • session.register_start / session.register — recorded in the new organisation’s log: it begins with its registration.
  • member.owner_set — appointing or removing an owner; a critical event.
  • credentials.set / credentials.delete — a repository token saved or deleted; the token value is absent from the log.
  • connector.enrol — the agent was paired with a code; the actor is the connector itself (its identifier), the address is where it connected from. connector.revoke is critical.
  • connector.event / connector.event_refused — a question, research or task from a comment in a tracker: every request and every refusal to an author who is not on the “Who may ask the bot” list. The tracker, the ticket and who asked (name, login and email, if the tracker shows them) are recorded — without the text of the question. Delivering the same comment again does not produce a second entry.
  • auditlog.export — a log export: by whom, in which format, with which filters and how many rows. An attempt to export without the permission is recorded as a refusal.
  • pipeline.* — pipeline actions; instead of * — the notification feed event type: task_closed, merge_conflict, review_needed, vm_ready, flow_failed and others. The actor is “system”.
  • operator.* — actions of a platform employee on your organisation: operator.billing.balance.topup, operator.billing.balance.adjust, operator.connector.disable, operator.demo.open (the operator opened the demo organisation’s workspace under its owner’s account). The actor is “operator” with their account.

On this page