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.