The Italian tested positive for low levels of a metabolite of clostebol – a steroid that can be used to build muscle mass – during Indian Wells.
A further sample taken eight days later also tested positive for low levels of the same metabolite.
A provisional suspension was applied automatically but, as Sinner challenged it successfully, he was able to keep playing.
The International Tennis Integrity Agency (ITIA) found Sinner was inadvertently contaminated with the substance by Giacomo Naldi, his physiotherapist.
Naldi had been applying an over-the-counter spray available in Italy to a cut on his own hand and had then carried out treatments on Sinner.
The ITIA accepted the explanation and that the violation was not intentional.
Sinner was cleared of fault or negligence by an independent tribunal last week, but he will lose the ranking points and prize money from his semi-final run at Indian Wells.
“I will now put this challenging and deeply unfortunate period behind me,” Sinner said in a statement.
“I will continue to do everything I can to ensure I continue to comply with the ITIA’s anti-doping programme.
“I have a team around me that are meticulous in their own compliance.”
Clostebol, often found in products to treat swelling and irritation, is on the World Anti-Doping Agency’s list of prohibited substances.
The decision not to sanction Sinner following the positive tests has been criticised on social media by a number of players including Australian Nick Kyrgios, Britain’s Liam Broady and Canada’s Denis Shapovalov.
Australian Open champion Sinner will be the top seed at the US Open, which begins on Monday.