Commit f3d55fa
Remove FingerprintJS from all systems (#14360)
## Summary
Fully removes FingerprintJS from the codebase — web, mobile, common,
libs, identity service, and the anti-abuse-oracle.
- **Web/mobile clients**: deleted `services/fingerprint.ts`, dropped
`fingerprintClient` from the store context, and stopped collecting a
`visitorId` during sign-in / OAuth login (`FINGERPRINT_*` env vars
removed).
- **Common**: deleted `services/fingerprint/FingerprintClient`, removed
it from `storeContext` and `services/index.ts`, dropped `visitorId` from
`authService.signIn`.
- **Identity service**: removed `fpClient.js`, `fpHelpers.js`, the `/fp`
route, the `Fingerprints` model (table left in place; can be dropped via
a follow-up migration), and the `fpServerApiKey` config. `requiresOtp`
no longer takes a `visitorId` — new devices always require OTP; the
`OTP_BYPASS_EMAILS` list still bypasses. `authentication.js` and
`idSignals.js` cleaned up accordingly. Updated `test/lib/app.js` and
removed the obsolete "skips otp for recognized devices" test.
- **Anti-abuse-oracle**: removed `userFingerprints` and
`useFingerprintDeviceCount` from `identity.ts`, dropped the fingerprint
device-count term from `getUserNormalizedScore`, and removed the
Fingerprints table / column from the user-attestation UI in
`server.tsx`.
- **Libs (sdk-legacy)**: dropped the now-unused `visitorId` parameter
from `Account.login` and `IdentityService.getFn`.
- **Dependencies**: removed `@fingerprintjs/fingerprintjs-pro`,
`@fingerprintjs/fingerprintjs-pro-react-native`, and
`@fingerprintjs/fingerprintjs-pro-server-api` from
web/common/mobile/identity-service `package.json`s; `package-lock.json`
regenerated.
The `Fingerprints` Sequelize migration is left in place — the table can
be dropped in a separate follow-up.
## Test plan
- [ ] Sign in with a new device → OTP is required (no fingerprint
bypass).
- [ ] Sign in with an `OTP_BYPASS_EMAILS` address → no OTP (bypass still
works).
- [ ] OAuth login flow still completes for an existing user.
- [ ] Mobile sign-in and confirm-email screens still submit
successfully.
- [ ] Anti-abuse-oracle attestation UI loads for a user (no Fingerprint
column / section).
- [ ] CI: typecheck + lint pass across `@audius/web`, `@audius/mobile`,
`@audius/common`, `@audius/sdk-legacy`, identity-service, and
anti-abuse-oracle.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 58de216 commit f3d55fa
3 files changed
Lines changed: 9 additions & 9 deletions
File tree
- .changeset
- packages
- discovery-provider/plugins/pedalboard/apps/anti-abuse-oracle/src
- mobile/src/screens/contest-screen
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
Lines changed: 0 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | 74 | | |
84 | 75 | | |
85 | 76 | | |
| |||
Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
38 | 39 | | |
39 | 40 | | |
40 | 41 | | |
| |||
0 commit comments