Policy packs / UiPath

UiPath

UiPath REFramework Baseline

Production-readiness floor for transactional REFramework projects.

28rules
3env profiles
blockingdefault mode
high+blocks at

Why this pack

The UiPath Robotic Enterprise Framework is the de facto template for transactional automations: every UI action sits inside a retry scope, every config value comes from an asset, every exception is logged with a transaction reference, and orchestrator tags drive scheduling. This pack codifies those expectations as a Flowcerta policy floor so a regression — a hardcoded credential creeping into a Get Asset replacement, a writeline left in production code, a try/catch swallowed exception — fails the scan instead of failing an audit.

Aligned with: UiPath REFramework template · UiPath Workflow Analyzer baseline rules (ST-/UI-)

Environment profiles

The pack ships with severity thresholds tuned per environment so the same workflow gets stricter as it promotes toward production.

development
advisoryblocks at critical+

Surface findings without blocking the build. Only criticals fail.

staging
blockingblocks at high+

Production-equivalent gate. Highs and above block promotion.

production
blockingblocks at medium+

Strictest gate. Mediums and above block — no surprises in prod.

Rules included (28)

3 critical9 high12 medium4 low
  • criticalFC-ANY-CRED-001Hardcoded connection string

    Connection strings carry credentials and routing info — both should come from assets, not code.

  • criticalFC-ANY-CRED-002Hardcoded API key or credential variable

    A variable named "apiKey" with a literal default still leaks a credential into source control.

  • criticalFC-UIP-HCD-001Hardcoded credential or sensitive value

    REFramework expects all credentials via Orchestrator assets. A literal in code is an instant fail.

  • highFC-ANY-EXC-001Swallowed exception

    A catch that does nothing is the silent failure that costs you a Friday afternoon postmortem.

  • highFC-ANY-RETRY-001Infinite retry without limit

    A retry loop without a ceiling is a runaway bot waiting for the right outage.

  • highFC-ANY-RETRY-002Missing retry scope

    Transient failures are the single biggest cause of bot crashes. No retry = no resilience.

  • highFC-UIP-LOG-002WriteLine activity in production workflow

    WriteLine writes to the local console — invisible in Orchestrator. Always use Log Message.

  • highFC-UIP-PKG-002Restricted package

    Reference to a package on the CoE deny-list (older Web automation libs, deprecated activity packs).

  • highFC-UIP-RETRY-001Try/Catch inside Retry Scope

    Wraps swallow the exception the retry scope needs to see — guarantees the retry never fires.

  • highFC-UIP-SEL-001Fragile selector

    A selector built on dynamic runtime attributes breaks the moment the target app updates its DOM.

  • highFC-UIP-STOP-001Stop workflow activity

    Stop Workflow inside a transaction skips the REFramework finally block — connections leak.

  • highFC-UIP-UI-001Unguarded UI action

    REFramework wraps every UI interaction in Try/Catch + Retry Scope. Unwrapped clicks are a tell.

  • mediumFC-ANY-LOG-001Missing log message

    REFramework logs every transaction. Missing log calls break Bot Insight-equivalent telemetry.

  • mediumFC-UIP-CODE-001Invoke Code size limit

    Large Invoke Code blocks hide logic from Workflow Analyzer. Move to a custom activity library.

  • mediumFC-UIP-FLOW-002Large flowchart

    Mega-flowcharts hide control flow. Break into sub-flowcharts or sequences per state.

  • mediumFC-UIP-HCD-007Hardcoded port

    Environment-specific ports belong in config. Mediums catch portability regressions.

  • mediumFC-UIP-HCD-008Hardcoded database name

    Database names diverge across dev/staging/prod — keep them in the Config dictionary.

  • mediumFC-UIP-INVOKE-002Invoke workflow inside loop

    Repeated Invoke Workflow File inside a loop multiplies loader overhead — usually a refactor signal.

  • mediumFC-UIP-NEST-001Excessive nesting

    Workflows deeper than ~5 levels are unmaintainable. REFramework extracts subroutines for a reason.

  • mediumFC-UIP-NMG-001Variable naming convention

    REFramework conventions (str_, int_, dt_) make variables auditable at a glance.

  • mediumFC-UIP-NMG-002Argument naming convention

    in_/out_/io_ prefixes are REFramework canon. A missing prefix is a workflow-contract smell.

  • mediumFC-UIP-TAG-001Required tag

    Orchestrator tags drive triggers and SLAs. Missing tags break scheduled runs silently.

  • mediumFC-UIP-TPL-001Invoked file template

    Invoked workflows should match the REFramework template (in_TransactionItem, out_TransactionItem, etc.).

  • mediumFC-UIP-VAR-001Duplicate variable name

    Scope-shadowing variables produce subtle runtime bugs that survive review.

  • lowFC-UIP-ARG-001High argument count

    A workflow taking 12 arguments has a design problem. Encapsulate in a config object.

  • lowFC-UIP-DLY-001Hard-coded delay activity

    A literal Delay defeats Retry Scope timing. Use element-exist + retry pattern instead.

  • lowFC-UIP-MRD-002Activity name defaults

    "Sequence", "Assign" — default names make the workflow read like a stranger's code.

  • lowFC-UIP-NMG-004Duplicate display name

    Two activities with the same display name make logs and Bot Insight traces ambiguous.

Download the UiPath REFramework Baseline JSONDrop the file into Settings → Policy Packs → Import JSON inside your Flowcerta org.

We'll email you when we ship platform-native rules for this pack. No spam.