Obsidian Pulse - audit trail, rollback, and delete recovery for Tape

The subject of audit trails and record recovery has come up a few times on the forums recently, and I’ve had a few DMs about it too. So it feels like a good time to share something I’ve been building.

This is Obsidian Pulse - an audit trail and recovery tool for Tape.

What it does

Obsidian Pulse gives your Tape organisation an audit trail of record activity, along with rollback and recovery capabilities.

It tracks creates, updates, and deletes, allowing you to:

  • Browse the full event timeline filtered by event type, date, app, or user
  • See exactly what changed with field-level diffs pulled directly from Tape’s revision API
  • Roll back an update and restore previous values to a record with a single action
  • Recover deleted records using Tape’s native recovery where available, with an additional safety net when needed

How record recovery works

When you restore a deleted record, Obsidian Pulse first asks Tape directly. Tape retains deleted records for a period of time and can often recover them natively.

If Tape can no longer recover the record, Obsidian Pulse can fall back to its own stored snapshot, provided delete retention is enabled. When enabled, the full record payload is captured and encrypted (AES-GCM) at the point of deletion before the record disappears from Tape.

In practice, this means record recovery is often possible even without delete retention enabled because Tape’s own recovery is attempted first. The stored snapshot acts as a longer-term safety net for when Tapes in built record restore is unavailable.

A few other things worth knowing

We don’t store field-level diffs.
The raw webhook event is stored along with some revision metadata, but all field-level change information is retrieved live from Tape’s revision API when you inspect an event. This means you’re always looking at Tape’s own source of truth rather than calculated data that could become stale.

Security matters.
Any retained record snapshots are encrypted at rest using AES-GCM, and delete retention can be enabled or disabled depending on your requirements.

How do you get onboard
Reach out to me here or via the site and we can discuss the options you need and get you onboarded.

Who it’s for

Obsidian Pulse is aimed at organisations running important data through Tape and wanting a safety net when things go wrong.

It can be particularly useful if you:

  • Have multiple people editing records and need visibility into who changed what
  • Need protection against accidental deletes
  • Have compliance, governance, or audit requirements
  • Want the ability to restore previous versions of important records

See it in action

A short screencast showing app onboarding and field rollback:

:link: https://obsidian-pulse.jmc.tools/

If you’ve ever lost a record, needed to know who changed something, or wished for a change level rollback Obsidian Pulse could be for you.

3 Likes

Hi @Jason,

wow, this is genuinely fantastic. What you’ve built with Obsidian Pulse looks incredibly useful and really well thought through :blue_heart:

Audit trails, rollback, and deleted record recovery are topics I’ve seen come up quite often with Tape users. In many cases, teams only realize how important this kind of safety net is once something has already gone wrong. A record was deleted, important values were changed, or someone needs to understand exactly who changed what and when.

That’s why I really love what you’ve created here. The full event timeline, filtering by event type, date, app, or user, and especially the field-level diffs using Tape’s revision API all feel very practical and valuable. The rollback functionality is a big one too. Being able to restore previous values with a single action can save teams a lot of time and stress.

I’ve had several conversations with users who needed exactly this kind of recovery capability and had to manually reconstruct things in a painful way. So it’s really great to see you closing that gap for the community.

Also, the way you combine Tape’s native recovery with an additional encrypted snapshot safety net is very smart, especially for teams with important operational data, governance, or compliance needs.

Really impressive work, Jason. Thanks a lot for sharing this with the community :100:

All the best,
Leo

1 Like

Great work as always @Jason. Just so I understand.

In simple words, when a record is updated or deleted, Tape only shows that it was updated. It doesn’t show what the changes were. With Obsidian Pulse, that part will be shown. The same thing happens when something is deleted. What’s happening is that both of these events fire a webhook. You catch it, encrypt it, and save it so it can be served on demand.

Have I understood it Correct?

Also in Obsidian Pulse, how long is the backup saved? Something we can customize?

2 Likes

@Thaha basically yes although the only time we store actual record data (the contents of fields) is if the organisation has selected the retain deleted option. At which point on delete we get the record and encrypt it we can then restore from this copy of for some reason the Tape restore doesn’t work.

The deltas are provided by Tape we never store those just get them live and roll back if needed, this means that you can have quite a reliable audit and roll back system without actually storing any field data outside of Tape.

Whats quite nice is that if field ‘a’ is modified then later field ‘b’ is changed on the same record you can roll back the field ‘a’ change and leave the field ‘b’ change in place.

Yes the retention period is set at the organisation level currently and the choices at the moment are 14 days, 30 days and 90 days.

2 Likes