Skip to main content

Empower Now – Product Review Study Guide

I. Overview of Empower Now​

Empower Now is a vendor‑agnostic, open‑standards identity and access platform. It secures user experiences, secrets, and connectivity to cloud and on‑prem systems, emphasizing policy‑driven authorization (PDP), BFF‑mediated UX, and observability.

II. Key Components and Features​

A. Empower Now Experience (User Interface)​

  • Purpose: Customizable end‑user interface replacing CRUD designer/runner.
  • Key features:
    • Load tenant/customer pages, run workflows, view reports
    • Communicates strictly through the BFF; WCAG‑aware
    • Integrates with OpenID Auth/PDP for granular authorization
  • Vibe Coding / Plugin Architecture:
    • Customers develop plugins (widgets/pages) and deploy via BFF file system
    • Plugins are authorized by the PDP before load/execute
    • Same‑origin model avoids library conflicts; supports fully custom UIs

See also: services/experience/index

Experience plugins: deployment specifics​

  • Source of truth (SoT): ServiceConfigs
    • Bundles: ServiceConfigs/BFF/plugins/<pluginId>/<version>/index.esm.js
    • Manifests/config: ServiceConfigs/BFF/config/plugins.yaml
  • Register/update in plugins.yaml with:
    • id, version, engine.experience
    • bundle.file: /app/plugins/<pluginId>/<version>/index.esm.js
    • Contributions (routes/widgets) and permissions (allow‑lists, SSE)
  • Hot reload: POST /api/plugins/refresh (no container rebuild)
  • Governance controls:
    • Allow‑lists per plugin (method + path templates)
    • Quarantine/unquarantine endpoints for rapid rollback
    • Optional sha256 integrity check per bundle
  • Controlled runtime: externals are constrained (e.g., react, react-dom, @empowernow/ui) to avoid dependency conflicts

See also: services/experience/experience_plugins, services/experience/plugins-storage-deployment, services/experience/plugin_guide

B. Secrets Management​

  • Purpose: Centralize and secure secrets; move away from ENV files.
  • Secret types:
    • Bootstrap secrets (pre‑startup; e.g., file mounts for Docker/K8s)
    • App‑managed credentials (runtime; e.g., OAuth tokens like Gmail access)
    • Platform secrets (platform connectors; e.g., Auth0, AD proxy)
  • Vault integration (pluggable): OpenBao, HashiCorp Vault, Azure Key Vault; pointers reference secrets (e.g., openbao+kv2://path/key).
  • Security & automation:
    • Vault Service acts as PEP, always calls PDP for authorization
    • Versioning and rollback; system definitions for create/read/delete/destroy/rotate/bulk/catalog
    • Metadata (creator/owner) for policy; business logs to Kafka for analytics/SIEM
    • mTLS for CRUD inbound APIs and BFF↔CRUD

See also: services/crud-service/secrets/index

Canonical URI pointers (secret references)​

  • Format: provider[+engine]://<mount>/<path>#<key>[?version=N]
  • Examples:
    • yaml://secret/app#token
    • openbao+kv2://secret/app/api#token
    • hashicorp+kv2://secret/app/api#token?version=3
  • Guards and policy:
    • Tenant/mount guard enforced at PEP
    • PEP always calls PDP with purpose (read/write/rotate/etc.)

See also: services/crud-service/secrets/03-canonical-uris-and-policy

C. Empower Now Connect (Cloud Gateway)​

  • Purpose: Standards‑based connectivity between cloud services and on‑prem systems behind firewalls.
  • Components:
    • Cloud Hub: Mesh component in containers; performs PDP authorization, DPoP, mTLS, JAR/PAR
    • Premise: Outbound encrypted WebSocket tunnels to proxy calls to on‑prem systems
  • Principles: Vendor‑agnostic, open standards; uses PDP and Vault; aims for HA without cloud‑specific relays.

See also: services/nowconnect/index

D. LDAP VDS (Virtual Directory Service)​

  • Purpose: LDAP server stack that virtualizes live systems and hot‑caches data as LDAP.
  • Features:
    • Connects to systems supported by CRUD connectors (ODBC/REST)
    • Auto‑maps schema; can return a basic OU structure
    • Three‑layer caching (e.g., Redis back cache); never caches passwords
    • Supports strong, certificate‑based LDAP auth for government/military needs
    • Aggressive caching and object mapping; universal schema for diverse sources
    • Schema mapping and transformation via YAML definitions (map object classes/attributes)
    • System Definitions declare systems, object types, and commands for workflows/UIs

E. Automation Studio (Implicit)​

  • Create system definitions to integrate data sources and commands; underpins workflows and data interactions.

III. General Architectural Principles​

  • Microservices/modular; components work independently (use one or all)
  • Open standards (OpenID/AuthZEN, FAPI, LDAP)
  • Security‑first (PDP at UI/plugins, secrets, and connectivity; BFF; mTLS)
  • Customization via Vibe Coding; secure plugin lifecycle
  • Observability (Kafka logs, metrics/traces)

IV. Competitive Landscape​

Competes with Salesforce/ServiceNow/Teams via flexible, secure, cost‑effective design that avoids vendor‑locked services.

Trials and developer access​

  • Time‑boxed, self‑destructing Docker trials that run on customer hardware
  • Enables individual developers and small teams to evaluate locally without hosted costs

Competitive angle: Curity Token Handler (for sales readiness)​

  • Curity positions an OAuth agent in the browser issuing secure HTTP‑only cookies and an OAuth proxy on an API gateway that translates cookies to tokens; API calls are routed via the gateway; marketed as ready‑to‑deploy and compatible with Azure APIM, Apigee, AWS, Kong, and NGINX. Source: Curity Token Handler
  • Our positioning: application‑aware BFF behind Traefik with centralized PDP per‑route mapping (resource/action/id), SSE pre‑checks, per‑service token brokering, and enterprise observability (Kafka AUTHZ_DECISION, Prometheus). See: marketing/competitive.md and services/bff/explanation/bff_gateway.md.

Quiz​

  1. What is the primary function of Empower Now Experience and how does Vibe Coding enhance customization?

Answer: End‑user interface for the suite; Vibe Coding enables custom plugins (widgets/pages) loaded via BFF and authorized by PDP for deep, safe customization.

  1. What is the BFF’s role in Experience?

Answer: Secure intermediary for all UI communications, loads user plugins, and enforces PDP authorization ahead of data/actions.

  1. Describe two secret types with examples.

Answer: Bootstrap secrets (pre‑startup via file mounts). App‑managed credentials (runtime OAuth tokens like Gmail access).

  1. How is secret access secured with respect to the PDP?

Answer: Vault Service is the PEP, always calling the PDP before any vault action.

  1. What problem does Empower Now Connect solve?

Answer: Secure, vendor‑agnostic cloud↔on‑prem connectivity without relying on proprietary relays.

  1. Differentiate Cloud Hub vs Premise in NowConnect.

Answer: Cloud Hub runs in cloud containers performing authz and routing; Premise opens outbound encrypted tunnels and proxies to local systems.

  1. What is the LDAP VDS and why might someone “hate it”?

Answer: An LDAP server stack/virtual directory that fronts diverse systems with LDAP; complex and heavy to build/operate despite being necessary for cert‑based LDAP.

  1. How does LDAP VDS handle non‑LDAP data?

Answer: Uses CRUD connectors (ODBC/REST) and dynamic schema mapping to present data as LDAP with basic OU structure.

  1. What is a key strategic goal for market reach?

Answer: Time‑boxed, self‑destructing Docker trials on customer hardware to democratize access.

  1. Name two security features/protocols.

Answer: OpenID Auth/PDP authorization; mTLS between BFF and CRUD service (and inbound CRUD APIs). Also uses FAPI/DPoP as applicable.


Essay Prompts​

  • Analyze how modularity and standards (plus Vibe Coding) position Empower Now versus Salesforce/ServiceNow. Include vendor/customer benefits and risks.
  • Evaluate secrets management (types, pluggable vault, PDP) and how it addresses common credential risks.
  • Compare NowConnect to traditional relays (e.g., Azure Relay) on architecture, security (PDP, mTLS), and multi‑cloud/hybrid implications.
  • Discuss LDAP VDS’s role, bridging disparate data via LDAP with caching, key use cases, and security considerations (e.g., cert‑auth for public sector).
  • Describe the Identity Fabric vision and how Experience, Secrets, Connect, and LDAP VDS unify into a secure, extensible platform.

Glossary (selected)​

  • Empower Now Experience: Customizable end‑user interface for the Identity Fabric.
  • Vibe Coding: Architecture that allows customer‑authored plugins (widgets/pages) with PDP gating.
  • Plugins: UI components integrated into Experience via BFF under policy.
  • BFF: Backend for Frontend; secure gateway/session terminator for the SPA.
  • Empower Now Identity Fabric Suite: Vendor‑agnostic IAM platform using open standards.
  • Empower Now Connect: Cloud gateway for secure cloud↔on‑prem connectivity.
  • Cloud Hub: Cloud mesh component doing PDP checks and routing.
  • Premise: On‑prem agent establishing outbound encrypted tunnels.
  • Secrets Management: Centralized system for secure secret storage and usage.
  • Bootstrap Secret: Needed before app start (e.g., mounted files in containers).
  • App Managed Credential: Runtime credential (e.g., OAuth token) managed by the app.
  • Platform Secret: Credential for platform services (e.g., Auth0 connector, AD proxy).
  • Vault Service: Abstraction over vaults; acts as PEP and enforces policy.
  • OpenBao / HashiCorp Vault / Azure Key Vault: Supported vault providers.
  • PDP: Policy Decision Point, evaluates and returns authorization decisions.
  • PEP: Policy Enforcement Point, enforces PDP decisions.
  • WCAG: Accessibility standard targeted by Experience UX.
  • OpenID Auth: Authorization framework used across the platform.
  • mTLS: Mutual TLS for strong, certificate‑based service auth.
  • CRUD Service: Workflow/CRUD execution backend.
  • LDAP VDS: Virtual Directory Service that presents diverse data sources as LDAP.
  • System Definition: Automation Studio configuration for systems/commands.
  • Kafka / ClickHouse: Eventing and analytics backbone.
  • SIEM: Security analytics integrations via Kafka.
  • DPoP / FAPI: Standards for sender‑constrained tokens and secure APIs.
  • YAML: Declarative configs used across the platform.