Sandbox
Overview
All apps distributed through the Mac App Store are required by Apple to run in a sandbox — a security mechanism that restricts an app’s access to the file system and system resources. This means the Mac App Store edition of Curio has a few limitations compared to the version downloaded directly from the Zengobi website.
Mac App Store Restriction
Throughout the documentation you may notice these special “Mac App Store Restriction” notices to highlight a feature limitation due to sandboxing. This page collects all of those restrictions in one place for easy reference.
Folder Access
The most significant sandbox restriction is that Curio can only read and write files in folders it has been explicitly authorized to access. By default, Curio has access to its own container, its temporary directory, your Downloads folder, and the Projects and Backups folders you configure in Settings.
Manage Authorized Folders
The Mac App Store edition of Curio includes a File > Manage Authorized Folders menu item that lets you view and manage the additional folders Curio has been authorized to access. From this dialog you can:
- View all currently authorized folders.
- Add a new folder by clicking the + button, which opens a standard folder chooser. Curio will have access to the selected folder and all of its subfolders.
- Remove a folder by selecting it and clicking the - button or pressing the Delete key. The folder will no longer be authorized on the next launch.
Your Projects folder and Backups folder are tracked separately and configured via Settings > General.
Automatic Folder Authorization
When exporting figures, markdown, or images to a folder that Curio doesn’t yet have access to, Curio will automatically detect this and offer to authorize the destination folder so the export can proceed. You can choose to remember the authorization for future sessions.
Default Projects Folder
Sandboxed Curio is unable to automatically set a default projects folder so you must specify it manually by clicking the Choose button in Settings. Note that Curio will have access to all files in the folder you choose.
If you have Curio Professional, then certain advanced features like external asset libraries and project lock files are only supported in this default projects folder because Curio needs full access to the files in the folder to support these features. See Lock File for more details.
Project Backups Folder
Similarly, sandboxed Curio is unable to set a default project backups folder so you must specify it manually by clicking the Choose button in Settings.
Feature Restrictions
AppleScript Actions
Curio from the App Store is unable to support AppleScript actions assigned to figures.
Custom App Icons
Sandboxing restrictions prevent Curio from changing the app icon on disk so custom app icons only appear in the Dock while Curio is running.
Product Updates
Updates for Curio obtained from the Mac App Store are handled by macOS. Due to that restriction, you will only have access to the normal release stream of updates, not the early access previews available from the Zengobi website.
Insecure HTTP Connections
Remote, insecure http connections are not supported in embedded web view figures, as Organizer documents, as Sleuth sites, or during web archive or favicon retrieval. Only secure https URLs can be used for markdown images and web archive figures.
However, you can create insecure http web link figures and figure actions, which will open in your default browser.
Email Sharing
Curio from the Mac App Store is required to use the macOS sharing service to support mailing from within Curio. While this works very well with Apple’s Mail app, it may not be compatible with all 3rd party mail clients as they have to support the NSSharingServiceNameComposeEmail sharing service feature. As a workaround you can export to your Desktop and add the attachment to a manually composed email.
Local Library Shelf
Curio from the Mac App Store is sandboxed which prevents the Local shelf from performing many operations on your hard disk. You can give Curio full disk access via System Settings > Privacy & Security > Full Disk Access. Alternatively, you can simply use the Finder and Spotlight outside of Curio to perform many of the same operations without restriction.
Support Folders and Network Installations
The custom support folder and network installation advanced settings are only applicable to Curio from Zengobi’s website, not from the Mac App Store due to sandboxing restrictions.
CLI File Import
The CLI import command can import files only when the source file is in an accessible folder — the app’s temporary directory, Downloads, your Curio projects folder, or any folder you have previously authorized in Curio. Run curio status to see the list of accessible folders for your installation. Content import (--as text, list, mindmap, stack, table) without --sync works regardless of file location, because the CLI reads the file and sends the content directly.