In a small mixing bowl, add the gelatin and heavy whipping cream. Stir together immediately to combine the gelatin to prevent it from clumping. Set aside.
Add the egg yolks to a medium mixing bowl.
In a 3-quart saucepan, add the milk, bone broth, cane sugar, and cocoa powder. Cook over medium heat until it reaches 140°F on a drink thermometer. If you don’t have a drink thermometer, ensure that the milk does not boil (so it doesn’t burn, if it burns, the burnt flavor will transfer to the pudding).
Once the sugar and milk mixture has reached 140°F, slowly add about half of it into the egg yolks whisking the entire time. This is going to help slowly bring the egg yolks up to temperature without cooking them, that’s why this step is important.
Then add the egg yolk mixture back into the pot with the other half of the milk and cocoa mixture and whisk to combine completely.
Add in the gelatin and cream mixture and whisk together.
Put back over the heat and simmer medium/low heat for about 5 minutes. The mixture will reduce slightly and it will not look thick like pudding yet, that’s okay.
Remove from heat and add in the butter, creme fraiche and vanilla bean, whisk to combine completely.
Pour into a large bowl, and cover with plastic wrap. Be sure to press the plastic wrap directly onto the pudding to prevent a film from forming. Allow to chill in the fridge for at least 6 hours or overnight. Once the pudding has set up, you can remove the plastic and store it in an airtight container.
Store in an airtight container for up to 7 days.