In a large saucepan, add in the brown sugar, corn syrup, and water. Stir to combine.
Place over medium high heat and cook until the mixture reaches 235 degrees F on a candy thermometer and it turns golden brown, about 10 minutes. Don’t stir, but you can swirl the ingredients in the pan by lifting up one side of the pan and then the other to avoid burning.
Once the caramel comes up to temperature, slowly add in the butter and heavy cream. It may bubble up and splatter. Don’t stir, but you can again swirl the ingredients together.
Bring the caramel back up to 235 degrees F over medium high heat, about 5 to 7 minutes.
Once the mixture reaches 235 degrees, remove it from the heat and gently stir in the vanilla and salt. Gently stirring avoids adding bubbles to the caramel.
Scrape the caramel into a small slow cooker and set the temperature to low/keep warm. Stir the caramel occasionally to ensure it is warm all the way through. This caramel can be kept warm for up to two hours.
Place a popsicle stick or candy apple stick through the center of the apple.
Dip the apple in the caramel and swirl it around to coat on all sides. Before the caramel sets, add your desired toppings.
Place the apples on a parchment lined sheet pan and allow them to set before enjoying.
Store uneaten caramel apples in an airtight container in the refrigerator for up to 3 days.