Not only is the photography itself expressive, but the choice of who to do business with is likewise expressive. By requiring Elane to photograph whoever wishes to pay for her services, she is prevented from using her choice of who to serve from conveying her approval or disapproval.
Lawyers, for example, can build such a reputation that simply the fact that a particular lawyer chose to take your case can speak volumes to the public. Why should Elane be denied that power?
It should be pointed out that if you use this approach, all code from handle_io_on_socket must avoid blocking no matter what. This can be nearly impossible in an application that's not multi-threaded.