No, it’s not mandatory to self-host your server. You could very well manage it on our publicly hosted server. However, the choice is always yours.
This can be solved if you manage your project with the row-level permissions as outlined in the support article Row-Level Permissions.
You will have to consolidate it outside the KoBoToolbox platform. This feature is not available with KoBoToolbox. However, you could still do it through this python script that has been shared in the community: