Missing or unusable source
The application runs, but the repository is gone, incomplete, corrupted, inaccessible, or unable to produce the live behavior.
Desired outcome: Establish deployed truth, assess recoverability, and create a maintainable candidate for a declared scope.
Former vendor or agency handoff
Production contains assets, code, configuration, or behavior the delivered repository does not reproduce.
Desired outcome: Produce an evidence-backed takeover package a new engineering team can continue from.
Production/repository drift
A repository exists, but nobody knows whether it represents the application users actually run.
Desired outcome: Compare source/build and deployed evidence, identify divergence, and recover supported missing surfaces.
Acquisition and technical diligence
A working client application has uncertain provenance, dependency closure, buildability, or maintenance ownership.
Desired outcome: Assess recoverability, runtime dependencies, vendor surfaces, hidden external authority, and residual risk.
Modernization without a blind rewrite
A team needs to replace a framework, toolchain, or vendor layer while preserving specific user behavior.
Desired outcome: Capture current behavior, recover a usable starting point, and define measurable retained flows.
Electron application recovery
A packaged desktop application contains renderer code, main-process startup, preload contracts, IPC, protocol handlers, resources, and native dependencies.
Desired outcome: Recover an editable desktop workspace and evaluate host behavior rather than treating the renderer alone as the product.
Browser-extension recovery
Background/service-worker registration, content scripts, page-world injection, messages, storage, and browser APIs create separate execution contexts.
Desired outcome: Preserve context, lifetime, message, storage, and injected-path contracts.
Scoped capability recovery
The organization wants one valuable experience but does not want to retain analytics, social, multiplayer, auth, or advertising.
Desired outcome: Declare retained behavior, prove removal closure where possible, and validate the kept flow.