Known Issues and Limitations
Cape Privacy's product is currently available as an open beta release. There are some functional limitations and known issues outlined below. Some of the issues or limitations have workarounds that may be be helpful to the reader.
Functions must be written in Python
cape_handlerfunctions must be written in Python. We plan to expand our language and packaging options in the future.
cape_handlerfunction accepts only a single parameter
Currently you may pass only one parameter to your
cape_handlerfunction. We plan to support multiple parameters in the future.
Workaround: The single argument can be as structured and complex as you need it to be. Passing multiple parameters can be accomplished by, for example, passing a JSON document as the single parameter.
The size limit for deployed functions is ~500MB
The enclave can currently support deployments up to about ~500MB. Your function code, Python dependencies, and any other supporting files must fit within that space to be successfully deployed. It is also possible that a function can be successfully deployed, but can not be successfully run because it uses too much memory. We are actively working on expanding the size limitations.
The connection to the enclave closes after 2 minutes of inactivity
After you establish your connection to the enclave, it will automatically be shut down after 2 minutes of inactivity. This timeout prevents users from holding an enclave connection indefinitely without use. In the future enclaves may be configured for longer holds, and usage will be billed accordingly.
No access to external data sources
A side effect of the enclave not having network access is that you can not read data from an external data source. We plan to add the ability to access external data sources in the future.
Workaround: If your function uses a static dataset, you can include the dataset as part of the deployment directory.
Lack of clarity in error output
The enclave runtime may return error messages that are not meaningful to you, or contain stack traces. Improving error output is an ongoing effort.
Backward compatibility is not currently guaranteed
Because our product is not finished, we anticipate there may be changes that would require you to redeploy your functions. We, of course, intend to limit this kind of disruption to changes that are absolutely necessary. Thank you for your understanding.