Call Recorder for FaceTime is Incompatible with Mojave and Catalina

We created Call Recorder for FaceTime in 2014 as an easy and simple way to automate FaceTime call recording. As FaceTime has evolved, we've been able to continuously adapt our app to provide a seamless experience — Until now:

As of macOS 10.14 Mojave, Apple has made many changes to FaceTime, and tightened the security of the operating system. As a result of these changes, Call Recorder for FaceTime is not compatible with macOS 10.14 or 10.15.

Ecamm will continue to assess the feasibility of adapting Call Recorder for FaceTime to work with Mojave and Catalina, but we have no plans at this time for a compatible version or for creating a replacement.


What's Changed? (The Details)

In Mojave, Apple has introduced the concept of a Hardened Runtime. For app developers, opting into Hardened Runtime mode is as simple as checking a checkbox. Hardened Runtime is a requirement for apps subject to Apple's new app notarization feature. Apple's built-in apps, including FaceTime, also run in Hardened Runtime mode.

Once the mechanism is activated, the hardened app is subject to a variety of additional security protections when running in Mojave, some very low-level, such as disallowing JIT-compiled code, and other more high-level restrictions such as preventing access to the microphone or camera. Apps can then elect to add entitlements (exceptions to the rules) to regain specific functionality.


Library Validation

Hardened Runtime includes a feature called Library Validation. A hardened app will no longer load a plug-in or framework unless its code signature indicates that it's from the same developer as the hardened app. In other words, when Library Validation is enabled, no third-party code is running within the app or its sub-processes.

Call Recorder for FaceTime loads code into Apple's FaceTime app in order to provide the tight integration with FaceTime required for automatic recording. For example, Call Recorder needs to know when a call starts and stops, and the name of the caller. Behind the scenes, this happens using a CoreAudio plugin. These plugins live on your Mac at /Library/Audio, and typically allow third parties to provide additional functionality for their hardware devices.

Library Validation means that when FaceTime opens, only plug-ins and frameworks created by Apple will load. Since Call Recorder for FaceTime is not made by Apple, it is ignored.


So...

Security-wise, this is great. The FaceTime app will no longer load any third-party code. Your calls can never be intercepted by a malicious third party, and your contact list is safe. However, this means that creating any sort of automated FaceTime recorder is not likely to be possible. Disabling Apple's System Integrity Protection (SIP) works around these limitations, however asking our customers to disable system-wide security measures to run our app is not a viable path forward for the product. We will not be updating the plugin to support Mojave. (Even with SIP disabled.)

It's a tough decision to end an app. We don't do it very often. Many of our apps have been supported for over ten years, across as many operating systems. But unfortunately, as long as FaceTime remains a Hardened app with no entitlement exception for Library Validation, Call Recorder for FaceTime will no longer be supported.

Thanks for your support,

-Ken & Glen




Try it Free

Ecamm Live for Mac

Ecamm Live turns your Mac into a production studio for Facebook Live, YouTube, Periscope and more!