The security of the file-handling api seems to be tied solely to https origins. It was not designed for application use cases and is severely limiting. Especially where an application is required to work whether internet access is EVER made available or not.
A better security fit might be one or a combination of local execution(browser flag), signed files or a sufficiently long and so unguessable UUID.
To avoid PKI, there could be a PK execution flag or UUID provided upon browser execution. The security origin would then be based upon the ability to execute the browser with a special argument for access to an apps files. This access could be local only. The files could be stored by reference or even required to be signed with the Public Keys corresponding Private Key.
There is already an app execution flag.
This would make file access packages such as hive more useful. Simplify file access for applications via development unification such as for Go powered web apps and also help extend projects like flutter for web to even more platforms such as where Dart support is lacking, e.g. OpenBSD.