Having some kind of integrity checking at startup that can be enabled would already be a good thing, even if there is no "autofix", but some warnings in a log would be already nice.
Most of the times corrupted json we had after a service crash were user settings.json missing, sometimes it was inclomplete like it was not entirely wrote and therefore rendering the service unusable for that user.
Sometimes the settings.json is named settings.json.tmp and settings.json is not present.
It never was an hardware issue but the result of mailservice.exe crashing or when we had to kill the process because it went in an unstoppable 100% cpu usage loop (gracefully stopping the service at this point fails and the only resort is to kill the process).
However the 100% cpu issues seems to be resolved now, that's a good point :)
The main problem is that the resulting user json files corruption is silent. There is no way to know that the issue exists until the customer contact us.
The only way I found to avoid further issue with this is to code a script that will check every user/domains json files to check if they are present (for the mandatory ones) and are parsed as valid json.
This helped us a lot to detect corruption issues after a service crash before we get complaints.
I would imagine that at the moment SmarterMail boots and loads the domains/users config, it might also do the same checks and log a warning somewhere so it's not needed to use an external tool for this so admins are aware of potential issues after a crash.