Snowflake keeps the old versions of changed rows for each table's retention period: a day by default, up to 90 days on Enterprise. In that window you can read the past:
FROM products AT(OFFSET => -60*30) is the table 30 minutes ago (the offset is in seconds).
AT(TIMESTAMP => '2025-07-01 08:30:00'::TIMESTAMP_LTZ) is a point in time.
BEFORE(STATEMENT => '<query id>') is the table just before a given statement ran.
You find query IDs in Query History, or with TABLE(INFORMATION_SCHEMA.QUERY_HISTORY()). To fix data, read the old version and write it back: UPDATE ... FROM products AT(...), or clone the old version into a new table.
DROP TABLE is reversible too: UNDROP TABLE name restores the most recently dropped table with that name. After time travel ends, permanent tables get seven more days of Fail-safe, which only Snowflake Support can recover from.
In this lesson, someone zeroed every tent price 20 minutes ago.