This article has been helpful in understanding the new access specifiers in Swift 3. It also gives some examples of different usages of fileprivate
Although @MartinR's and @StephenChen's answer are perfect, Swift 4 changes things a little bit.
Private is now considered as private to a class in which it is declared and also to its extensions.
FilePrivate is considered to be private in that file be it a class in which the variable is defined, it's extension, or any other classes defined in that same file.