We’re keen to deepen Camo’s integration with other apps, and we’ve already got native integration with Zoom, Google, and Apple’s own apps running on macOS 12.3 and later.
If you’re a user of a product that doesn’t support Camo, please send them this and ask for their help.
If you’re a decision-maker at a video app maker who is interested in doing this, please get in touch.
Video apps take a number of approaches when it comes to using cameras. Most products and browsers allow access to any camera product a user has installed. Zoom and others have a certification programme whereby vendors like Reincubate are approved and specifically allowed. However, some products block use of “virtual” cameras like Camo.
With the release of macOS 12.3, Camo Studio takes advantage of a number of changes to make virtual cameras work system wide. This means Camo is compatible with all apps that use the cameras made available by the system.
On version of macOS older than 12.3, in order for a video conferencing app to support Camo, its developers need to disable library validation by adding the com.apple.security.cs.disable-library-validation entitlement to their product. This isn’t a big security issue for apps that use a dedicated process for handling video: after all, Google do it in all of their products, including Chrome, and Apple do it in Final Cut Pro X.
(Developers building apps with Electron should note that the framework splits functionality across a number of embedded apps within the main app bundle. Depending on their architecture, it may be these sub-apps that require the entitlement. Using Skype as an example, the embedded Skype Helper (Renderer).app is the critical piece. Which app or apps require the entitlement depends on how the developers manage camera usage.)
Some developers may wish to build an allow-list to enable only certainly virtual cameras to work, much like Zoom do. (Where this is the case, Camo’s signing certificate name should be added: Developer ID Application: Reincubate Ltd (Q248YREB53).)
Where developers haven’t put this entitlement in place or built an allow-list, Camo is able to automatically bypass it using its "Integration" feature. Essentially, it works using a process described on StackOverflow whereby it removes the code-signature from an app.