==== Strong security controls

Temporary files can be created using unsafe functions and API as long as strong
security controls are applied. Non-temporary file-handling functions and APIs
can also be used for that purpose.

In general, applications should ensure that attackers can not create a file
before them. This turns into the following requirements when creating the files:

* Files should be created in a non-public directory.
* File names should be unique.
* File names should be unpredictable. They should be generated using a
    cryptographically secure random generator.
* File creation should fail if a target file already exists.

Moreover, when possible, it is recommended that applications destroy temporary
files after they have finished using them.
