The problem with making the file public when IMPORTDATA is used can be solved by creating a Workspace. In that case the published file can be reached only by the members of the workspace. It is not free but is a no codding solution.
I also want to ask a question about recurency of the data import. If I have a folder in Drive dedicated for a certain csv data and every day a new file is uploaded, how can I get the last imported file to go to the spreadsheet?