You would use user group permissions in one node (View threads by others) for the private node as NO for 1-on-1 conversations (ensure this is set for Unregistered / Unconfirmed too, else guests can see all) for the new USER GROUP and set it to YES for Administrative.
After the conversation takes place, move the thread from that node to a new node with no permissions explicitly set and the conversation becomes public.
1) New user group (or Registered)
2) Create a new node "PRIVATE"
3) Set Node permission(s) View threads by others NO for "PRIVATE" to (or Registered) and Unregistered / Unconfirmed
3) Set Node permission(s) View threads by others YES for "PRIVATE" to Administrative
Note: This is the node where the private 1-on-1 conversations will take place. Only the member in PRIVATE (or Registered) can see their own threads, while Administrative can see all threads.
4) Carry out the conversation until you want to make it public.
5) Make a new node to move the thread into - default accessible by all - or a current node you prefer to use.