Design of the software, as in how it will work. The low level design. Not the front end, although that will be part of it. Your opening post outlines vaguely what the software will do; the design of the software will involve nailing down that outline and refining it to a medium level, and possibly formal, description of exactly what the software will do. So for example "it's important that the system be very secure", which is a vague wish rather than an accurate specification, will be resolved in the design to the details of any access control systems, protection, if any encryption is used, if a user account system is used what kinds of users, what kinds of privileges, if a password is used or a multi-level authorisation method, or if the OS authentication is good enough etc etc etc.... so obviously the consultant will need to understand the details of different OS protection systems if the security requirements point to any specific OS.
Your comment about using C because Unix is secure is (a) a non-sequitur and (b) wrong. Windows, VMS etc - all OS's - are secure if configured properly, and ANY computer is secure if the hardware is secure; even on something like AmigaDOS which has no security you can write secure software. It's misconfiguration and poor design/implementation that lead to problems. A well configured Windows system can be more secure than a badly configured Unix system, and a well-programmed AmigaDOS application can be just as secure as any other OS you care to mention, providing that you have control over ALL inputs to the computer.
So as I said before you should not be leaning towards any specific language or platform unless there are specific reasons to do so. "they say" is not a good reason to do anything; you must make the choice according to the system requirements.