Glossary
SQLite write-ahead log (-wal)
The -wal sidecar file where SQLite writes recent changes before merging them into the main database; often holds the newest evidence.
In write-ahead logging (WAL) mode, SQLite does not overwrite the main database file when a transaction commits. It appends the modified pages to a sidecar file named <database>-wal, and readers consult that file first. Periodically a checkpoint copies the pages back into the main database; by default this happens automatically once the WAL reaches about 1,000 pages. A companion -shm file holds a shared-memory index of the WAL.
For investigators this has three consequences. First, the most recent activity may exist only in the -wal file, so the database, -wal and -shm must always be collected together. Second, the WAL can contain several versions of the same page, which sometimes preserves records that were later edited or deleted in the main file. Third, simply opening the database with an ordinary SQLite client can trigger a checkpoint, and closing the last connection normally merges and removes the WAL — altering evidence. Work on copies, and parse the WAL separately when earlier page versions matter.
Windows artifacts that rely on SQLite in WAL mode include Windows Timeline (ActivitiesCache.db), the notification database (wpndatabase.db) and Firefox profiles among the browser artifacts. The idea mirrors the transaction logs of the ESE database format and the registry transaction logs: pending data lives outside the main file until it is merged.
Related artifacts
- Browser artifacts (Chrome, Edge, Firefox)Browser forensics cheat sheet: Chromium and Firefox profile files, History and places.sqlite tables, WebKit and PRTime timestamps, downloads, cookies, cache.
- CapabilityAccessManager (camera, mic, location)CapabilityAccessManager cheat sheet: ConsentStore keys, LastUsedTimeStart and Stop for webcam and microphone use per app, and the Windows 11 SQLite database.
- Clipboard historyClipboard history cheat sheet: what Windows 10/11 keeps in memory, pinned items on disk, cloud clipboard text in ActivitiesCache.db and the registry settings.
- Desktop messaging apps (Slack, Signal, WhatsApp…)Desktop messaging forensics: where Slack, Signal, WhatsApp, Telegram and Discord keep data on Windows, what is encrypted, timestamps and export options.
- Notification database (wpndatabase.db)Windows notification database cheat sheet: wpndatabase.db tables, toast Payload XML, FILETIME ArrivalTime and ExpiryTime, WAL recovery and legacy appdb.dat.
- Sticky Notes (plum.sqlite and StickyNotes.snt)Sticky Notes cheat sheet: plum.sqlite Note table and .NET tick timestamps on Windows 10/11, legacy StickyNotes.snt, WAL recovery, collection and parsing.
- Windows Recall (Copilot+ PC snapshots)Windows Recall cheat sheet: CoreAIPlatform snapshot store, ukg.db and ImageStore, OCR text and window titles, VBS encryption, opt-in status and caveats.
- Windows Search indexWindows Search index cheat sheet: Windows.edb (ESE) and Windows 11 SQLite Windows.db, indexed paths, dates and content, deleted records, esentutl collection.
- Windows Timeline (ActivitiesCache.db)Windows Timeline cheat sheet: ActivitiesCache.db and WAL, Activity tables, ActivityType values, focus duration, clipboard, 30-day expiry and Windows 11 status.