Dev:WorkflowKit.framework

WorkflowKit is the framework that acts as a backend to the Shortcuts app. It provides around 80% functionality of the Shortcuts app including (but not limited to) actions (though ActionKit also powers a lot of them), handles how shortcuts are imported, how they're stored, etc. It is noted that while it is technically added in 12.0, most of its functionality came in iOS 13.0.

For examples on how to use this framework, see the Example Code section of this page.

WFWorkflowRecord
WFWorkflowRecord is how shortcuts are stored. The biggest thing is actions: Every action has an action identifier to identify an action (WFWorkflowActionIdentifier), and some have parameters of what is in said action (WFWorkflowActionParameters). However, it also handles other data about the shortcut, such as its name and minimum client version it can be imported on.

WFBundledActionProvider
WFBundledActionProvider is what provides WorkflowKit with what actions it loads. It loads actions from WFActions.plist inside of WorkflowKit - those actions have ActionClass which determine the class of the action (WFBundledActionProvider does NSClassFromString on the class specified - most of which are in ActionKit.framework), as well as other info.

WFAction
WFAction is basically the class that every shortcuts action uses. It should be noted that actions aren't all WFAction, but rather their own class that inherit from it (For example, WFExitShortcut in ActionKit).

WFShortcutExtractor
WFShortcutExtractor is a brand new class in iOS 15 dedicated to exporting shortcuts.

The -(void)extractShortcutFile:(id)arg0 completion:(id)arg1 method checks if first four characters are AEA1, if so it detects the file being imported as an unsigned shortcut file and calls -(void)extractSignedShortcutFile:(id)arg0 completion:(id)arg1, if not, it detects it as an unsigned shortcut file and calls -(void)extractWorkflowFile:(id)arg0 completion:(id)arg1. -(void)extractWorkflowFile:(id)arg0 completion:(id)arg1 will check for if the allowsOldFormatFile BOOL is true (normally never true), if not, then if it is an internal build of VoiceShortcutsClient, will also check WFShortcutsFileSharingEnabled from the shortcuts preferences plist. If none of these are true it will show an error, but if one is true it calls -(void)extractWorkflowFile:(id)arg0 shortcutName:(id)arg1 shortcutFileContentType:(NSInteger)arg2 iCloudIdentifier:(id)arg3 completion:(id)arg4, with an icloud identifier and shortcut file content type of 0x0. extractSignedShortcutFile determines the shortcut file type and proceeds to call -(void)extractWorkflowFile:(id)arg0 shortcutName:(id)arg1 shortcutFileContentType:(NSInteger)arg2 iCloudIdentifier:(id)arg3 completion:(id)arg4.

WFGallerySessionManager
WFGallerySessionManager handles various gallery things, such as uploading shortcuts to iCloud. Be aware that some methods in here do not have any code in release builds, such as deleteCollection/deleteBanner.

WFP2PSignedShortcutFileExporter
WFP2PSignedShortcutFileExporter is a brand new class in iOS 15 dedicated to signing contact signed shortcuts.

WFiCloudShortcutFileExporter
WFiCloudShortcutFileExporter is a brand new class in iOS 15 dedicated to signing iCloud signed shortcuts.

WFShortcutSigningContext
WFiCloudShortcutFileExporter is a brand new class in iOS 15 dedicated to the content of the signed shortcut file. The method -(void)validateAppleIDValidationRecordWithCompletion:(id)arg0 is responsible for verifying that contact-signed shortcuts imported are related to the user or their contacts. It first preforms [[[SFAppleIDClient alloc]init]myAccountWithError:nil]altDSID]isEqualToString:[self appleIDValidationRecord to check if the DSID inside of the shortcut being imported matches up with the DSID in the shortcut- if not, it checks if private sharing is enabled, and if so, checks that the SHA256 email hash / phone hash in the shortcut match up with any on the user's iCloud account.