Closed Bug 498263 Opened 11 years ago Closed 11 years ago

"Clear Private Data" is ineffective


(Firefox :: Private Browsing, defect)

Windows Vista
Not set





(Reporter:, Unassigned)


User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv: Gecko/2009042316 Firefox/3.0.10
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv: Gecko/2009042316 Firefox/3.0.10

"Clear Private Data" does not PURGE deleted items from the related .sqlite files.

By this I mean that the rows do get marked as deleted in the .sqlite files, but those files are not PURGED (VACUUMed in SQLite parlance) once all affected records have been marked as deleted. Any process that is able to parse .sqlite files will still be able to extract information thought to have been removed by the user.

For example: if you clear your Browsing History (and even restart Firefox after doing so) you can still open the Places.sqlite file in Notepad and see all of your recently-visited URLs by searching for "http://", "https://", etc.

Reproducible: Always

Steps to Reproduce:
1. Clear your Browsing History using "Clear Private Data"
2. Quit/restart Firefox to ensure proper state is written to disk.
3. Open your profile's Places.sqlite file and search for "http://", "https://", etc.
Actual Results:  
URLs that should have been removed from Places.sqlite are still contained in that file.

Expected Results:  
No records should remain in the Places.sqlite file.


Until Firefox properly implements PURGING .sqlite files after deleting rows the following workaround is viable (on Windows):
1. Download and extract the latest version of SQLite from
2. Quit Firefox (it locks files whilst running)
3. Go to your profiles directory and run the following command:
for %i in (*.sqlite) do @echo Purging: %i & @echo VACUUM; | sqlite3 %i

This will properly remove rows marked as deleted from all of the profile's .sqlite files.
Not security sensitive.
Group: core-security
Closed: 11 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 445164
You need to log in before you can comment on or make changes to this bug.