(You can go back to the old behavior via a system setting: "Close windows when quitting an app")
This is vestigial thinking from the MacOS perspective. The concept of "saving" is gone. The concept of "memory state" versus "disk" is gone, from the user perspective. Those are all implementation details now. For the user it's simply, your windows stay open until you close them. Quitting does not close windows, so it's not unusual to see them when you return to an app.
By the way, Safari in iOS does exactly the same thing. And given that iOS kills apps on its own, there would be no question that randomly killing private sessions would be a bug.
I mean maybe you could distinguish between a force quit and an OS quit, but why? Just close the windows if you want to clear them. The private window guarantee is there will be no trace after you close the window. It's just vestigial thinking that quitting apps also closes windows.
Given that, it is logical that it reopens private windows, just as, for example, TextEdit or Numbers reopen windows with content you never explicitly saved (even across reboots)
Nope!
If anyone has any pointers to documentation on the forensics aspects of this I'd appreciate a link.
It doesn't look like there's that much open source available for the new-ish Windows 8+ hibernation file: https://github.com/volatilityfoundation/volatility/issues/25
To be clear to anyone else reading this, that's not what I said nor close to what I meant. I think I understand where you're coming from though.
This is solved by knowing what is stored is private browsing data, which should be marked anyways. Safari just isn't that well thought out of a browser.
Safari is just a browser that has made a different set of tradeoffs.
Leveraging native APIs means less code (fewer bugs), less disk usage, less RAM usage, etc.
>> The point of private browsing is to make it so when that window exits, that data doesn't exist anymore.
When defining what private browsing is supposed to do we should keep in mind Safari was the first major browser to introduce the feature.
Who defined it that way? And how do you define 'exit', 'data' and 'exist'?