By default, libvirtd communicates with a local Unix domain socket, so that it only allows local communication. It can also be configured for TCP / IP sockets, so that it is accessible to clients through the network. Libvirtd runs as an independent layer, which means that the VMs do not need it to continue functioning normally.
The API can be shut down or restarted to perform any administration task on any type of software. As long as the VM configuration is defined in an XML file known by libvirtd, manipulating the daemon will not affect the state of the VM.
To learn how to configure libvirtd you can have a look at this article.