Google Chromebook owners, who often need to work with Linux applications, can confirm that one of the biggest limitations of the Crostini Linux container is that it does not have direct access to the device's file system. The way things work now forces files that were generated in the Crostini container to stay there and users can not use local files in the container's application. A workaround is available through SSH, but it can be cumbersome. A recent code commit in the Chromium repository points to Google, which uses Crostini's built-in SSH and a predefined action library to create a simpler solution that essentially grants access to the Chromebook from the Crostini file
code commit itself, it seems that every container instance in Crostini gets its own private key, which is called when accessing the Chrome OS file system. The Crostini container is also added to a list of "known hosts". While Commit and its comments do not explain this in detail, Chrome OS is likely to recognize an authorized Crostini instance and allow access when the private key is checked out. From there, a mount command is issued, which integrates the Chrome OS file system directly into the Crostini container and essentially allows the Linux application to access it as if a flash drive were inserted into a Linux PC.
Overall, it's pretty safe and could lead to far fewer problems than trying to integrate the file system of the particular Crostini instance directly with Chrome OS. It also uses hooks and calls already in both Crostini and Chrome OS. This means that Google will be able to flip the switch whenever the solution is ready. Once committed, enterprising users who know how to manually compile Chrome OS or one of its offshoots can add this change to give Crostini access to interact with local files. While it could be argued that dealing with local files in Crouton poses fewer problems, using Crostini for one-time applications or testing can be much less of a hassle than setting up a whole shell session and operating system in Crouton for users who are usually in it work the Chrome OS environment and use less common Linux applications, or do not want to handle the intricacies of introducing new file systems and hooks into an established Linux virtual machine.