Skip to content

Releases: VerifyBlind/VerifyBlind-iOS

VerifyBlind iOS v1.0.1 (Dev Build 116)

Choose a tag to compare

@github-actions github-actions released this 04 Jul 18:30

Commit: 97624dc
Version: 1.0.1 (Build 116)
IPA SHA-256: 8b5b9f0256b1071b77b6d436c14be037497800fb14c7bf0f89008a1661cef90c


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 116 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (116) · 97624dc — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 116 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (116) · 97624dc — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Dev Build 115)

Choose a tag to compare

@github-actions github-actions released this 30 Jun 16:48

Commit: cd17f9c
Version: 1.0.1 (Build 115)
IPA SHA-256: a42cfbdcfca1175f1b5cd486455f27083d9b760f6683df9055a34a9259f75642


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 115 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (115) · cd17f9c — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 115 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (115) · cd17f9c — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Dev Build 114)

Choose a tag to compare

@github-actions github-actions released this 30 Jun 16:21

Commit: 21e13ba
Version: 1.0.1 (Build 114)
IPA SHA-256: 260703a857f52ca0f6fe3cc93a8500b1ea907737537106b83c568713d21a3565


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 114 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (114) · 21e13ba — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 114 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (114) · 21e13ba — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Build 113)

Choose a tag to compare

@github-actions github-actions released this 28 Jun 17:58

Commit: 8b9ccd0
Version: 1.0.1 (Build 113)
IPA SHA-256: c5a9c3aca15a932c3a2d1cd5c8cccf3575d9ddf25b458bf83611919088e46115


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-prod.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 113 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-prod.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (113) · 8b9ccd0 — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-prod.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 113 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-prod.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (113) · 8b9ccd0 — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Dev Build 112)

Choose a tag to compare

@github-actions github-actions released this 28 Jun 17:24

Commit: bb56427
Version: 1.0.1 (Build 112)
IPA SHA-256: 8e9e39d616a4422494cebf0e08db64f88c0bba052c1eef68c582cef79db45474


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 112 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (112) · bb56427 — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 112 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (112) · bb56427 — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Dev Build 111)

Choose a tag to compare

@github-actions github-actions released this 28 Jun 15:44

Commit: 52bf349
Version: 1.0.1 (Build 111)
IPA SHA-256: 7f48409e4849c5b2e541b832ec8acbf96da6c13779359f46e38662fa51e6a6d8


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 111 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (111) · 52bf349 — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 111 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (111) · 52bf349 — tapping it opens this page.

VerifyBlind iOS v1.0.1 (Dev Build 110)

Choose a tag to compare

@github-actions github-actions released this 21 Jun 17:38

Commit: 461786b
Version: 1.0.1 (Build 110)
IPA SHA-256: c9a6d045c1f23938632a5d52904a660ab9a5bbedef36b70712d39fb54017617e


Bu release, App Store Connect'e yüklenen IPA'nın bu commit'ten, herkese açık GitHub Actions üzerinde derlendiğinin kriptografik kanıtını içerir (Sigstore imzalı SLSA build provenance):

Dosya Açıklama
VerifyBlind.ipa Apple'a yüklenen imzalı paket (FairPlay şifrelemesi ÖNCESİ hali)
ipa-hashes.json IPA'nın ve paket içindeki her dosyanın SHA-256 özeti
attestation.sigstore.json Sigstore attestation — hangi repo/commit/workflow'un ürettiğinin imzalı kanıtı

Doğrulama

Otomatik: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manuel (cosign ≥ 2.4 ile):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

iOS'ta doğrulama Android'den neden farklı?

Android'de telefonunuzdaki APK'yı USB ile çekip hash'lerini GitHub'dakiyle bit-bit karşılaştırabilirsiniz. iOS'ta bu mümkün değil: Apple'ın FairPlay DRM'i App Store'dan inen her uygulamanın binary'sini şifreler ve stok bir iPhone'dan karşılaştırılabilir kopya çıkarılamaz. Bu, VerifyBlind'e özgü değil, platform kısıtıdır (Telegram dahil tüm iOS uygulamaları için geçerlidir). iOS'ta güven zinciri şöyle kapanır:

  1. Bu attestation — Apple'a Build 110 olarak yüklenen IPA'nın yukarıdaki commit'ten derlendiğini matematiksel olarak kanıtlar. İmza, GitHub Actions'ın OIDC kimliğine (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml) bağlıdır; bu repo dışında kimse üretemez.
  2. Apple kod imzalama zorunluluğu — stok iOS yalnızca Apple'ın imzaladığı App Store kopyasını çalıştırır; değiştirilmiş bir uygulama cihazda hiç açılmaz. Aynı build numarası App Store Connect'te yalnızca bir kez var olabilir.
  3. App Attest — VerifyBlind sunucusu her kayıtta, cihazdaki uygulamanın gerçek App Store build'i olduğunu Apple üzerinden doğrular.

Telefonunuzda hangi build'in kurulu olduğunu Ayarlar ekranının en altındaki sürüm satırında görebilirsiniz: 1.0.1 (110) · 461786b — satıra dokunmak bu sayfayı açar.


English

This release contains cryptographic proof that the IPA uploaded to App Store Connect was built from this commit on public GitHub Actions (Sigstore-signed SLSA build provenance):

File Description
VerifyBlind.ipa The signed package uploaded to Apple (BEFORE FairPlay encryption)
ipa-hashes.json SHA-256 of the IPA and of every file inside the bundle
attestation.sigstore.json Sigstore attestation — signed proof of which repo/commit/workflow produced it

Verify

Automatic: verify-ios.ps1 (Windows) · verify-ios.sh (macOS / Linux)

Manual (with cosign ≥ 2.4):

cosign verify-blob-attestation \
  --bundle attestation.sigstore.json --new-bundle-format \
  --certificate-oidc-issuer="https://token.actions.githubusercontent.com" \
  --certificate-identity-regexp="^https://github.com/VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml@" \
  VerifyBlind.ipa

Why is iOS verification different from Android?

On Android you can pull the APK off your phone over USB and compare its hashes bit-for-bit with GitHub. On iOS this is impossible: Apple's FairPlay DRM encrypts the binary of every App Store download, so no comparable copy can be extracted from a stock iPhone. This is not specific to VerifyBlind — it is a platform constraint (it applies to every iOS app, Telegram included). On iOS the chain of trust closes as follows:

  1. This attestation mathematically proves that the IPA uploaded to Apple as Build 110 was built from the commit above. The signature is bound to the GitHub Actions OIDC identity (VerifyBlind/VerifyBlind-iOS/.github/workflows/ios-dev.yml); no one outside this repo can produce it.
  2. Apple code-signing enforcement — stock iOS only runs the App Store copy signed by Apple; a modified app will not even launch on the device. The same build number can exist only once in App Store Connect.
  3. App Attest — on every registration the VerifyBlind server verifies, via Apple, that the app on the device is the genuine App Store build.

You can see which build is installed on the version line at the bottom of the Settings screen: 1.0.1 (110) · 461786b — tapping it opens this page.