There are a couple of different scenarios that result in the "Unattach Date". For a volume that is created but never attached to an instance, the “unattached date” is the “updated_at” time received from the API (the “First Discovered” time).
If that volume is then attached to an instance, the unattached date will clear out.
If an attached volume is then unattached, the unattached date is taken from AWS API call “describe-volumes”, which gives the status. Details on what this call encompasses can be found here: AWS describe_volumes. If the status of “available”, CloudHealth sets the "Unattach Date" to the time it was collected and that API call was processed.
This data will be as accurate as the platform collection cycle which will be within an hour of when the status change occurs but will most likely appear in the platform earlier.