> ## 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. If Revyl finds a compatible build with
the same fingerprint, it reuses that build. Otherwise, it runs your normal
build command.

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 build stream where you want to use it:

```yaml theme={null}
build:
  platforms:
    ios:
      env:
        REVYL_USE_FINGERPRINT: "1"
    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>
