expo-camera
A React component that renders a preview for the device's either front or back camera. Camera's parameters like zoom, auto focus, white balance and flash mode are adjustable. With expo-camera, one can also take photos and record videos that are saved to t
Supply chain provenance
Status for the latest visible version.
Without SLSA provenance there is no cryptographic link between this tarball and the public source — the axios compromise (March 2026) relied on exactly this gap.
Maintainers
Keywords
Accepted risks
Findings the reviewer chose to accept rather than block on.
| Source | Rule | Reason | Accepted by | When |
|---|---|---|---|---|
| npm-metadata | bundled-binaries | AI (npm-metadata): Prebuilt ZXingObjC xcframework binaries for iOS barcode scanning; expected for this native camera package. | ai | |
| provenance | missing-githead | AI (provenance): expo-camera canary builds are published from a different pipeline than stable releases; missing gitHead is expected for this package's canary workflow. | ai | |
| provenance | no-provenance | AI (provenance): Canary pre-release builds from the Expo monorepo do not go through the same provenance-attesting CI as stable releases; acceptable given publisher track record. | ai | |
| publish-pattern | suspicious-version-number | AI (publish-pattern): Expo canary releases consistently use date-stamped version strings (e.g., 55.0.x-canary-YYYYMMDD-hash); this pattern is standard for the expo ecosystem and not indicative of malice. | ai | |
| phantom-deps | phantom-dep:expo-permissions-interface | AI (phantom-deps): Interface package is part of Expo's modular architecture; declared and used indirectly through config. | ai | |
| phantom-deps | phantom-dep:expo-camera-interface | AI (phantom-deps): Interface package is part of Expo's modular architecture; declared and used indirectly through config. | ai | |
| phantom-deps | phantom-dep:expo-file-system-interface | AI (phantom-deps): Interface package is part of Expo's modular architecture; declared and used indirectly through config. | ai | |
| phantom-deps | phantom-dep:expo-face-detector-interface | AI (phantom-deps): Interface package is part of Expo's modular architecture; declared and used indirectly through config. | ai | |
| maintainer-change | maintainer-added | AI (maintainer-change): New maintainer philpl is associated with the Expo organization; this is a legitimate team addition for a major Expo SDK package. | ai | |
| maintainer-change | maintainer-removed | AI (maintainer-change): Maintainer roster changes are routine for a large org like 650 Industries/Expo; no evidence of hostile takeover. | ai | |
| provenance | publisher-changed | AI (provenance): brentvatne is a well-known Expo core team member publishing from the official expo/expo monorepo; publisher changes within the Expo org are routine and expected. | ai | |
| dependencies | unvetted-peer-dep:react-native | AI (dependencies): react-native is the expected peer dependency for React Native libraries; stable for this package. | ai | |
| dependencies | unvetted-peer-dep:expo | AI (dependencies): expo is the expected peer dependency for expo-camera; part of the official Expo SDK ecosystem. | ai | |
| dependencies | unvetted-dep:barcode-detector | AI (dependencies): barcode-detector is a legitimate runtime dependency for camera barcode detection; stable for this package. | ai |
Versions (showing 97 of 197)
v13.6.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v13.4.2
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.2.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.2.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.1.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.1.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.0.3
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v11.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v5.0.1
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v4.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v3.0.0
1 findingPackage was published without Sigstore provenance. Only ~12% of npm packages have provenance, so this is common but not ideal.
v17.1.0-canary-20260119-70f7c28
1 finding[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
v17.1.0-canary-20251120-e46b3cc
3 findings[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
[Accepted risk] This version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: expo-bot.
[Accepted risk] This version was published by a different npm account than previous versions on 2025-11-20. This could indicate a legitimate maintainer transition or an account compromise.