[Magisk] osm0sis:
"SECURITY_PATCH": null,

"FIRST_API_LEVEL": null

Or just leaving out those 2 lines On a device where neither are required for the fingerprint to pass should be supported though.

Right now null just crashes Play Integrity, and nothing about it in the PIF log, so the current code isn't behaving as expected.

:/ $ su
:/ # logcat | grep PIF
11-26 19:45:24.128 7503 7503 D PIF/Native: Read from file descriptor file 'classes.dex' -> 7024 bytes
11-26 19:45:24.128 7503 7503 D PIF/Native: Read from file descriptor file 'pif.json' -> 251 bytes
11-26 19:45:24.192 7503 7503 D PIF/Native: get system classloader
11-26 19:45:24.192 7503 7503 D PIF/Native: create class loader
11-26 19:45:24.192 7503 7503 D PIF/Native: load class
11-26 19:45:24.192 7503 7503 D PIF/Native: read json
11-26 19:45:24.193 7503 7503 D PIF/Native: call init
11-26 19:45:24.193 7503 7503 D PIF/Native: Found '__system_property_read_callback' handle at 0xb400006da5e78cc0
^C
130|:/ #

Similarly, both those lines omitted from the json doesn't show a message in the log like expected from the latest commits, instead it continues to show sending the blank values to Google (which it shouldn't):

:/ $ su
:/ # logcat | grep PIF
11-26 19:52:18.543 7643 7643 D PIF/Native: Read from file descriptor file 'classes.dex' -> 7024 bytes
11-26 19:52:18.543 7643 7643 D PIF/Native: Read from file descriptor file 'pif.json' -> 198 bytes
11-26 19:52:18.574 7643 7643 D PIF/Native: Key SECURITY_PATCH doesn't exist in JSON file!
11-26 19:52:18.574 7643 7643 D PIF/Native: Key FIRST_API_LEVEL doesn't exist in JSON file!
11-26 19:52:18.574 7643 7643 D PIF/Native: get system classloader
11-26 19:52:18.574 7643 7643 D PIF/Native: create class loader
11-26 19:52:18.575 7643 7643 D PIF/Native: load class
11-26 19:52:18.575 7643 7643 D PIF/Native: read json
11-26 19:52:18.575 7643 7643 D PIF/Native: call init
11-26 19:52:18.576 7643 7643 D PIF/Java: Spoof KeyStoreSpi and Provider done!
11-26 19:52:18.576 7643 7643 D PIF/Java: [PRODUCT]: OnePlus9Pro -> angler
11-26 19:52:18.576 7643 7643 D PIF/Java: [DEVICE]: OnePlus9Pro -> angler
11-26 19:52:18.576 7643 7643 D PIF/Java: [MANUFACTURER]: OnePlus -> Huawei
11-26 19:52:18.576 7643 7643 D PIF/Java: [BRAND]: OnePlus -> google
11-26 19:52:18.576 7643 7643 D PIF/Java: [MODEL]: LE2125 -> Nexus 6P
11-26 19:52:18.576 7643 7643 D PIF/Java: [FINGERPRINT]: OnePlus/OnePlus9Pro/OnePlus9Pro:13/TP1A.220905.001/R.12ee130-1f9aa-ffaae:user/release-keys -> [redacted]
11-26 19:52:18.576 7643 7643 D PIF/Native: Found '__system_property_read_callback' handle at 0xb400007aac99b360
11-26 19:52:19.116 7643 7668 D PIF/Native: [ro.board.first_api_level] ->
11-26 19:52:19.116 7643 7668 D PIF/Native: [ro.vendor.api_level] ->
11-26 19:52:19.185 7643 7668 D PIF/Native: [ro.product.first_api_level] ->
11-26 19:52:19.237 7643 7668 D PIF/Native: [ro.build.version.security_patch] ->
11-26 19:52:20.344 7643 7701 D PIF/Native: [ro.board.first_api_level] ->
11-26 19:52:20.344 7643 7701 D PIF/Native: [ro.vendor.api_level] ->
11-26 19:52:20.443 7643 7701 D PIF/Native: [ro.build.version.security_patch] ->
11-26 19:52:20.472 7643 7701 D PIF/Native: [ro.product.first_api_level] ->
11-26 19:52:20.590 7643 7701 D PIF/Java: DroidGuard detected!
11-26 19:52:20.758 7643 7671 D PIF/Native: [ro.product.first_api_level] ->
11-26 19:52:21.046 7643 7671 D PIF/Native: [ro.board.first_api_level] ->
11-26 19:52:21.046 7643 7671 D PIF/Native: [ro.vendor.api_level] ->
11-26 19:52:21.129 7643 7671 D PIF/Native: [ro.build.version.security_patch] ->
ac11-26 19:52:28.997 7643 7670 D PIF/Native: [ro.board.first_api_level] ->
11-26 19:52:28.997 7643 7670 D PIF/Native: [ro.vendor.api_level] ->
11-26 19:52:29.041 7643 7670 D PIF/Native: [ro.product.first_api_level] ->
11-26 19:52:29.057 7643 7670 D PIF/Native: [ro.build.version.security_patch] ->
^C
130|:/ #

Which of course triggers hardware backed (which it shouldn't), but it shouldn't change/send them at all.

CC: @huskydg