What are all file metadata available to the linux file system that are always available vs optional?

Context: I know that some programs figure out whether they’re being run inside a terminal by running the standard C function isatty(STDOUT_FILENO), or isatty(STDIN_FILENO).

I believe also that they can figure out whether the file is a symbolic link or not.

I would like to know what other information programs have access to regarding their input and output files, and to what extent it is possible to hide this information from them.

E.g. Regarding isatty, is it possible to hide this information from a program, by removing the information from the file identifier?

Question: In general, which file meta-data is available by default, and which of those can be configured to be removed/hidden from a program when configured as their stdin/stdout?