anchor.diff:          true ->
               ["Connection Terminating:\n",
                io_lib:format("Reason: ~p, StateName: ~p~n~s~nStateData = ~p",
  -                           [Reason, StateName, ExtraInfo, state_data2proplist(D)])
  +                           [Reason, StateName, ExtraInfo, clean(D)])
               ]
       end;
   ssh_dbg_format(renegotiation, {return_from, {?MODULE,terminate,3}, _Ret}) ->
  
positive.code: %% Start / stop
  %%====================================================================
  
  start_link_ng(Role, Address, Socket, Options) ->
      start_link_ng(Role, Address, undefined, Socket, Options).
  
  start_link_ng(Role, _Address=#address{}, Id, Socket, Options) ->
      case gen_statem:start_link(?MODULE,
                                 [Role, Socket, Options],
                                 [{spawn_opt, [{message_queue_data,off_heap}]}]) of
  
negative.code:         
  format_status0(normal, [_PDict, _StateName, D]) ->
      [{data, [{"State", D}]}];
  format_status0(terminate, [_, _StateName, D]) ->
      [{data, [{"State", clean(D)}]}].
  
  
  clean(#data{}=R) ->
      fmt_stat_rec(record_info(fields,data), R,
                   [decrypted_data_buffer,
                    encrypted_data_buffer,
                    key_exchange_init_msg,
                    user_passwords,
                    opts,
                    inet_initial_recbuf_size]);
  clean(#ssh{}=R) ->
      fmt_stat_rec(record_info(fields, ssh), R,
                   [c_keyinit,
                    s_keyinit,
                    send_mac_key,
                    send_mac_size,
                    recv_mac_key,
                    recv_mac_size,
                    encrypt_keys,
                    encrypt_ctx,
                    decrypt_keys,
                    decrypt_ctx,
                    compress_ctx,
                    decompress_ctx,
                    shared_secret,
                    exchanged_hash,
                    session_id,
                    keyex_key,
                    keyex_info,
                    available_host_keys]);
  clean(#connection{}=R) ->
      fmt_stat_rec(record_info(fields, connection), R,
                   []);
  clean(L) when is_list(L) ->
      lists:map(fun clean/1, L);
  clean(T) when is_tuple(T) ->
      list_to_tuple( clean(tuple_to_list(T)));
  clean(X) ->
      ssh_options:no_sensitive(filter, X).
  
  fmt_stat_rec(FieldNames, Rec, Exclude) ->
      Values = tl(tuple_to_list(Rec)),
      list_to_tuple(
        [element(1,Rec) |
         lists:map(fun({K,V}) ->
                           case lists:member(K, Exclude) of
                               true -> '****';
                               false -> clean(V)
                           end
                   end, lists:zip(FieldNames, Values))
        ]).
  
  %%--------------------------------------------------------------------
  -spec code_change(term() | {down,term()},
  