In a heatproof bowl, combine egg whites, sugar, and salt, and set mixture over a saucepan of simmering water, keeping heat on low. Constantly yet gently whisk mixture by hand until warm to the touch and smooth, and sugar has completely dissolved. If you have a thermometer, the temperature should reach 150F/65C. Remove from heat.
Using an electric mixer fitted with the whisk attachment, whisk egg white mixture until stiff peaks form and meringue is thick and glossy, about 10 minutes (start with low speed and gradually increase to medium-high). Make sure the bottom of the bowl isn’t warm before adding the butter, otherwise it will melt.
Switch to paddle attachment. On low speed, add a few tablespoons of butter at a time, beating well after each addition until incorporated. Once all butter has been added, keep beating until very smooth. If at some point the mixture curdles, keep beating until smooth again. Add vanilla and beat on low speed until combined. At this point, you can add any additional flavor (such as extracts), then beat until smooth.
Frosting can be kept in an airtight container in the fridge for up to a week, or in the freezer for up to 2 months. Before using, bring to room temperature and whisk by hand for a few seconds until satiny and smooth.