In general it is called a software engineer, but it also caters for developer, programmer, architect and a lot of other names. There is no such specific thing and there are few definitions of what each function should do. I even made a question and gave a answer about this.
In general, the same person who projects everything else determines the layouts of files or other forms. In practice the layout of the file is still a data structure, one of the most important things about software development is that it is common for people to overlook. When it is well made it is easier to produce the algorithms around it and evolve code and architecture.
Of course in a large project a person can be detached to do this, but it is not common. Maybe it's a data modeler, but I've never seen the term being used for it, let alone being just that. It's more or less like saying that the doctor specializes in skin sewing.
Perhaps because some people find this they study one part and not the whole and then they make mistakes because they do not know everything they need.
Overall this is still software engineering, more specifically the area of data structure .
Although tangentially it can help with security, it has little to do with the data structure itself.
Reading about database structures .