At least with the WooCommerce integration, when WooCommerce makes a system entered note on an order (like for example, order changing from Processing to Hold, etc) Shipstation takes those notes and overwrites the data stored in ShipStation in the Private Notes field.
There is no other location that is convenient for the Warehouse staff and Customer Service to enter notes about why an order may be on hold, we were trying to use Private Notes for this, but it was being overwritten. The warehouse staff does not have access to WooCommerce, so they can not enter an order note there.
I feel this is a bug in ShipStation. The WooCommerce integration will take the various incoming notes and separate them by the pipe (|) character to preserve them all. When ShipStation receives private note information from the integration it should not blindly overwrite what is there but should do a similar thing to concatenate it. Or at least provide an option to ignore importing private notes from the integration.
I can see where this could be problematic if every time the store updated you appended the same private note information again, so it would require some de-duplication logic. If we could just turn this feature OFF, as we really don't need it, it would solve the problem and make Private notes work the way they are intended, to just store a private not on the order. We wouldn't consider those WooCommerce system-generated messages as something we would want in ShipStation anyway.
I remember an earlier suggestion along these lines, I hope this can garner some attention. I consider destruction of user entered data to be a bug.