Installation

Installing ControlLayer takes a few minutes. Start in a sandbox.

Requirements

  • Salesforce Enterprise Edition or above
  • A user with permission to install packages and assign permission sets (typically a System Administrator)

1. Install the package

Early Access

ControlLayer is being prepared as a managed package under the itcl namespace. It is not published yet - there is no install link and no AppExchange listing today. Early access customers are onboarded hands-on; request access and we install with you. The steps below describe that installation.

  1. Open the install link we provide during onboarding, while logged into the target org (sandbox recommended first).
  2. Choose Install for Admins Only. You will widen access deliberately with permission sets in the next step.
  3. Complete the installation and wait for the confirmation email if Salesforce processes it in the background.

Nothing is bypassed after an install, and nothing needs to be seeded to make that true. ControlLayer's default state is enforce: a missing enforcement setting row, a blank value, or an object that simply isn't in the list all mean "not bypassed". A fresh org has none of those rows, so every automation you have keeps running exactly as it did.

2. Assign permission sets

ControlLayer ships two permission sets, each carrying one custom permission. They are additive: ControlLayer_Settings_Admin carries nothing but its own custom permission and is assigned on top of ControlLayer_Bypass_Admin, never instead of it.

Permission setCustom permissionGrantsAssign to
ControlLayer_Bypass_Admin Manage_Bypass_Windows Create and manage bypass windows via the wizard and dashboard, and restart the engine The small group of admins who run data operations
ControlLayer_Settings_Admin Manage_Org_Settings The org-settings surface only - defaults and guardrails (maximum duration, required end dates, retry ceiling) Whoever owns governance policy - a subset of the above, assigned both sets

Every controller method checks the custom permission server-side. Hiding UI is a courtesy; the permission check is the boundary.

Assign via Setup -> Permission Sets, or with the CLI:

sf org assign permset --name ControlLayer_Bypass_Admin --target-org MyOrg
Assignment is not optional, even for a System Administrator

Field-level access to ControlLayer's objects is delivered through these permission sets, not through profiles. An admin who installs the package and skips this step will open the app and see objects that look empty - no windows, no fields, nothing wrong with the install. Assign ControlLayer_Bypass_Admin to yourself first.

3. Verify

  1. Open the ControlLayer app from the App Launcher.
  2. Check the dashboard's engine-health indicator. It should read Healthy; a fresh org may need one click of Restart Engine to schedule the job chain and its watchdog. Both operations are idempotent - see Engine health.
  3. You should see an empty dashboard - no windows yet. That's the correct starting state: everything enforced, nothing bypassed. (If the objects themselves look inaccessible rather than merely empty, revisit step 2.)

Next step

Govern your first automation and run a window end-to-end: Quick Start.