Skip to content
System Light Dark

GPL-3.0-or-later

Free and open source

All of Pingogram's code is public. You can read it, build the app yourself, check what it does with your data, and help make it better.

Source code

The app lives at github.com/kyra-labs/pingogram-android. It is written from scratch in Kotlin and Jetpack Compose, on top of TDLib, Telegram’s official client library. It is not a fork of the official Telegram app, and it contains no code from it.

License

Pingogram is licensed under the GNU General Public License v3.0 or later (LICENSE), with an additional permission to combine it with Google’s Play services and Firebase libraries, which only the builds with “-gms” in their names use, for push notifications (LICENSE-EXCEPTION.md). The GPL keeps every copy and every modified version open: anyone who shares the app must share its source too.

Build it yourself

You need JDK 17 or newer, an Android SDK with platform 37 and the latest stable Android Studio, plus your own Telegram API ID and hash from my.telegram.org (API development tools).

git clone https://github.com/kyra-labs/pingogram-android
cd pingogram-android
cp secrets.properties.example secrets.properties   # add your api_id and api_hash
./gradlew assembleFossDebug                        # APK in app/build/outputs/apk/foss/debug/
./gradlew check                                    # ktlint, detekt, lint, unit and screenshot tests

secrets.properties is never committed; the build stops with a clear message if it is missing. The TDLib library is downloaded during the build from the project’s own releases and checked against a pinned SHA-256 checksum. The README and docs/TDLIB.md have the details.

Contribute

Bug reports, ideas and code are all welcome:

  • Report a bug or suggest a feature with the issue forms. Please don’t attach screenshots of private chats or phone numbers.
  • Ask a question by email at contact@kyralabs.dev.
  • Send code: read CONTRIBUTING.md first. Branch from main, use Conventional Commits, sign off every commit (git commit -s, the Developer Certificate of Origin), run ./gradlew check, and keep pull requests small, with light and dark screenshots for changes to the interface. Contributions are licensed under the project’s license.
  • Everyone taking part follows the Code of Conduct.

Security

Please report security problems privately, through GitHub’s private vulnerability reporting, never in a public issue. The security policy explains what to include and which versions get fixes. Problems in Telegram’s encryption or in TDLib itself belong upstream, to TDLib or Telegram.

Third-party licenses

Pingogram is built on the work of many open-source projects. Its Settings → About → Open-source licenses screen lists every library in the build you installed, with its version and full license text. The list is generated from the app’s actual dependencies when it is built, so it always matches, and works offline. Among them:

ProjectLicense
TDLib, Telegram’s client libraryBoost Software License 1.0
Google Sans Flex, the typefaceSIL Open Font License 1.1
Material Symbols, the iconsApache License 2.0
Jetpack Compose, Material 3 and the other AndroidX librariesApache License 2.0
Lottie, for animated stickersApache License 2.0

This website

This website is built with M3 Expressive Web, Kyra Labs’ Material 3 Expressive library for the web, and Astro. It uses Google Sans Flex under the SIL Open Font License 1.1 and Material Symbols under the Apache License 2.0, both served from this site.