Salmon is a proposed protocol that defines a standard way for comments and annotations on one site to "swim upstream" and be posted to the original source, allowing for a virtuous cycle of commentary. It works by having content signed and posted to a target site's Salmon endpoint, with the signature then verified to authenticate the sender before the target site decides how to handle the received content. Specifications are provided for Salmon implementations using Atom and JSON formats.