anchor.diff:      receive
           {zmq, _StatusSock, BodyFrame, []} ->
               ?debugVal(BodyFrame),
  -            do_authenticate_message(HeaderFrame, BodyFrame),
  -            case catch jiffy:decode(BodyFrame) of
  -              {Hash} ->
  -                NodeName = proplists:get_value(<<"node">>, Hash),
  -                pushy_node_state:heartbeat(NodeName);
  -              {'EXIT', _Error} ->
  -                %% Log error and move on
  -                error_logger:info_msg("Status message JSON parsing failed: ~s~n", [BodyFrame])
  +            case catch do_authenticate_message(HeaderFrame, BodyFrame) of
  +                {ok} ->
  +                    send_heartbeat(BodyFrame);
  +                {no_authn, bad_sig} ->
  +                    error_logger:info_msg("Status message failed verification: ~s~n", [HeaderFrame])
               end
       end.
   
  
positive.code:         {ok}
      catch
          error:{badmatch, _} ->
              error_logger:info_msg("Status message failed verification: ~s~n", [Header]),
              {no_authn, bad_sig}
      end.
  
  
negative.code:     {_version, _Version, _signed_checksum, SignedChecksum}
          = list_to_tuple(HeaderParts),
      SignedChecksum.
  
  send_heartbeat(BodyFrame) ->
      case catch jiffy:decode(BodyFrame) of
        {Hash} ->
          ?debugVal(Hash),
          NodeName = proplists:get_value(<<"node">>, Hash),
          pushy_node_state:heartbeat(NodeName),
          error_logger:info_msg("Heartbeat received from: ~s~n", [NodeName]);
        {'EXIT', _Error} ->
          %% Log error and move on
          error_logger:info_msg("Status message JSON parsing failed: ~s~n", [BodyFrame])
      end.
  