Verification
Deprecated extension verification flow.
Overview
> Deprecated: Extension verification requests are paused for now. This page remains for older builds that already use the trusted extension registry, but new extension creators should not use it as a launch requirement.
DynamicLake can mark an installed extension as Verified when the extension identity matches the signed DynamicLake trusted extension registry.
Verification is not required while developing or testing an extension. It is a trust badge for extensions distributed to other users.
Verified status is not based on a bundle identifier alone. DynamicLake checks:
- The registry file is signed by DynamicLake.
- The extension has a valid Apple code signature.
- The extension signing identifier matches the extension bundle identifier.
- The extension Apple Team ID matches the registry.
- The extension bundle identifier matches the registry.
Team IDs and bundle identifiers are public identifiers. They are used to confirm who signed the extension; they are not signing secrets.
Before Requesting Verification
Prepare a signed and notarized app or plugin pack that contains your DynamicLake extension.
The extension should be included in one of these locations:
YourApp.app/Contents/PlugIns/YourExtension.appexYourApp.app/Contents/Extensions/YourExtension.appex
If the companion app exists only to contain the extension, its app target can set LSUIElement to true so it behaves as an agent app and does not appear as a separate Dock app after launch. Keep LSUIElement off when the product intentionally ships a normal visible app UI. DynamicLake does not require this key for verification.
The extension must not contain malware, viruses, spyware, credential theft, unauthorized data collection, deceptive behavior, persistence abuse, or any other malicious or harmful functionality.
Meeting the technical requirements does not guarantee approval. The DynamicLake team may approve, reject, remove, or revoke verification for any extension at its own discretion.
Find Your Identifiers
Use codesign on the extension bundle:
codesign -dv --verbose=4 "/path/to/YourApp.app/Contents/PlugIns/YourExtension.appex"
Check these values in the output:
Identifier=com.example.YourDynamicLakeExtension
TeamIdentifier=ABCDE12345
The Identifier should match the extension bundle identifier.
Check Gatekeeper
DynamicLake reviews public verification requests against a Gatekeeper-accepted build.
spctl -a -vv -t exec "/path/to/YourApp.app"
The app or plugin pack should be accepted by Gatekeeper before requesting verification.
Submit a Request
Open an issue or pull request in the DynamicLake trusted extensions registry:
https://github.com/rokach/DynamicLake-Trusted-Extensions
Include:
- Extension name
- Extension bundle identifier
- Apple Team ID
- Developer or company name
- Website
- Download URL
- Whether the app or plugin pack is notarized
DynamicLake will review the signed build before adding it to the trusted registry.
After Approval
After approval, DynamicLake publishes an updated signed registry. Installed DynamicLake apps periodically refresh the registry. Once the signed registry includes your extension and the installed extension signature matches it, the extension appears as Verified.