> ## Documentation Index
> Fetch the complete documentation index at: https://docs.revyl.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fingerprinting

> Skip unnecessary native rebuilds for Expo and React Native apps

Fingerprinting makes Expo and React Native remote builds faster. When your
native code has not changed, Revyl can reuse an earlier app build and update
the JavaScript instead of rebuilding the whole app.

## How it works

Revyl uses `@expo/fingerprint` to calculate a fingerprint from the parts of
your project that affect the native app. It runs the selected profile's
`setup_commands` first, then calculates the fingerprint. If Revyl finds a
compatible build with the same fingerprint, it uses the installed Expo or React
Native tooling to repack the app. If fingerprinting or repacking is unavailable,
it runs the selected profile's `build_commands` normally.

On the build page, the first build step shows **Fingerprint match** when Revyl
reused an earlier build, or **New fingerprint** when it ran your build commands.
Build commands skipped by a match show as **Reused**, and the build details link
to the build whose native app was reused.

You can customize what goes into the fingerprint with `.fingerprintignore` or
`fingerprint.config.js`. See the
[Expo fingerprint documentation](https://docs.expo.dev/versions/latest/sdk/fingerprint/)
for the available options.

## Enable fingerprinting

Set `REVYL_USE_FINGERPRINT` on each profile recipe where you want to use it:

```yaml theme={null}
build:
  framework: expo
  profiles:
    development:
      ios:
        build_commands: ["./scripts/build-ios"]
        env:
          REVYL_USE_FINGERPRINT: "1"
      android:
        build_commands: ["./scripts/build-android"]
        env:
          REVYL_USE_FINGERPRINT: "1"
```

<Warning>
  Fingerprinting for bare React Native apps is experimental. It may not work for
  every project yet, and reused builds are not guaranteed to behave as expected.
  If you run into any issues, please contact
  [support@revyl.ai](mailto:support@revyl.ai).
</Warning>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.