aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md58
-rw-r--r--crowdin.yml90
2 files changed, 35 insertions, 113 deletions
diff --git a/README.md b/README.md
index 06a00731..b9de0a24 100644
--- a/README.md
+++ b/README.md
@@ -1,40 +1,52 @@
-> [!WARNING]
->
-> Android Password Store is no longer actively developed. You can find the announcement [here](https://github.com/android-password-store/Android-Password-Store/discussions/3260).
-
# Password Store
-[![GitHub workflow](https://github.com/android-password-store/Android-Password-Store/workflows/Deploy%20snapshot%20builds/badge.svg)](https://github.com/android-password-store/Android-Password-Store/actions)
-![Backers on Open Collective](https://opencollective.com/Android-Password-Store/backers/badge.svg) ![Sponsors on Open Collective](https://opencollective.com/Android-Password-Store/sponsors/badge.svg)
+An Android client for [pass](https://www.passwordstore.org/), the standard Unix password manager.
+Passwords are stored as OpenPGP-encrypted files in a git repository, so the same store works with
+`pass` on the desktop and with this app on the phone.
+
+This is a maintained fork of
+[android-password-store/Android-Password-Store](https://github.com/android-password-store/Android-Password-Store),
+which was archived in October 2024. All credit for the original work goes to the
+Android Password Store authors.
-## Download
+## Changes from upstream
-See https://docs.passwordstore.app/docs/users/release-channels/
+- Decrypts messages GnuPG 2.3+ writes by default (OCB / LibrePGP AEAD), which upstream rejected
+ as "non-standard AEAD".
+- Rejects keys without an encryption-capable subkey on import.
+- Bouncy Castle 1.86 and PGPainless 1.7.8, fixing known Bouncy Castle advisories.
+- Decrypt screen no longer reachable by other apps with arbitrary file paths.
+- No build scans uploaded to third-party services.
-## Documentation
+## Building
-We're in the process of rewriting our documentation from scratch, and the work-in-progress state can be seen [here](https://docs.passwordstore.app). See the [wiki](https://github.com/android-password-store/Android-Password-Store/wiki/) for the old documentation.
+Requires JDK 17 and the Android SDK command-line tools. Point Gradle at the SDK with a
+`local.properties` file (`sdk.dir=/path/to/Android/Sdk`), then:
-## Contributing
+```
+./gradlew assembleFreeDebug # APK in app/build/outputs/apk/free/debug/
+./gradlew test -PslimTests # unit tests
+```
-Want to contribute? See if you can [find an issue](https://github.com/android-password-store/Android-Password-Store/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) you are interested in, then send a PR. Consult the [contribution](CONTRIBUTING.md) docs
+The `free` flavor has no proprietary dependencies. The `nonFree` flavor adds Sentry crash
+reporting and Google Play Services SMS OTP autofill.
-Interested in helping to translate Password Store? Contribute [here](https://crowdin.com/project/android-password-store)!
+## Issues
-Wanna test development builds to find bugs and offer feedback? Read the [release channels](https://docs.passwordstore.app/docs/Users/release-channels) documentation to get access!
+Report bugs and feature requests on the
+[issue tracker](https://github.com/danixland/Android-Password-Store/issues).
-## Community
+## License
-Ways to get in touch:
+GPL-3.0-only, see [LICENSE.txt](LICENSE.txt).
-* [Github issues](https://github.com/android-password-store/Android-Password-Store/issues): Use it if you have a bug report, or you want to submit a feature request.
-* [GitHub Discussions](https://github.com/android-password-store/Android-Password-Store/discussions): Use it if you do not understand something, or want to discuss a feature request in more detail with all community members before pitching it to maintainers.
+Copyright © 2014-2024 The Android Password Store Authors.
+Modifications Copyright (C) 2026 Danilo M. <danix@danix.xyz>.
-## Donations
+## Development Approach
-The project accepts financial contributions through the following platforms
+This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback.
-- [GitHub Sponsors](https://github.com/sponsors/android-password-store)
-- [OpenCollective](https://opencollective.com/android-password-store)
+All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions.
-<sub>Google Play and the Google Play logo are trademarks of Google LLC.</sub>
+The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.
diff --git a/crowdin.yml b/crowdin.yml
deleted file mode 100644
index 116a2194..00000000
--- a/crowdin.yml
+++ /dev/null
@@ -1,90 +0,0 @@
-"api_token_env": "CROWDIN_PERSONAL_TOKEN"
-"project_id_env": "CROWDIN_PROJECT_ID"
-"preserve_hierarchy": true
-"files": [
- {
- "source": "/app/src/main/res/values/strings.xml",
- "dest": "/main_strings.xml",
- "translation": "/app/src/main/res/values-%android_code%/strings.xml",
- "languages_mapping": &stringmapping {
- "android_code": {
- "ar": "ar",
- "am": "am",
- "hy-AM": "hy-rAM",
- "az": "az",
- "be": "be",
- "bn": "bn-rBD",
- "bg": "bg",
- "ca": "ca",
- "cs": "cs",
- "da": "da",
- "de": "de",
- "el": "el",
- "es-ES": "es",
- "es-AR": "es-rAR",
- "es-MX": "es-rMX",
- "es-VE": "es-rVE",
- "et": "et-rEE",
- "eu": "eu-rES",
- "fa": "fa",
- "fil": "fil",
- "fi": "fi",
- "fr": "fr",
- "gl": "gl-rES",
- "hr": "hr",
- "hu": "hu",
- "is": "is",
- "id": "in",
- "it": "it",
- "he": "iw",
- "ja": "ja",
- "ka": "ka-rGE",
- "km": "km-rKH",
- "kn": "kn-rIN",
- "ko": "ko",
- "ky": "ky-rKG",
- "lt": "lt",
- "lv": "lv",
- "lo": "lo-rLA",
- "ms": "ms",
- "ml-IN": "ml-rIN",
- "mn": "mn-rMN",
- "mr": "mr-rIN",
- "my": "my-rMM",
- "ne-NP": "ne-rNP",
- "nl": "nl",
- "no": "nb",
- "pl": "pl",
- "pt-PT": "pt",
- "pt-BR": "pt-rBR",
- "ro": "ro",
- "ru": "ru",
- "rm-CH": "rm",
- "si-LK": "si-rLK",
- "sk": "sk",
- "sl": "sl",
- "sr": "sr",
- "sv-SE": "sv",
- "sw": "sw",
- "th": "th",
- "ta": "ta-rIN",
- "te": "te-rIN",
- "tr": "tr",
- "uk": "uk",
- "ur-IN": "ur-rIN",
- "uz": "uz",
- "vi": "vi",
- "zh-CN": "zh-rCN",
- "zh-HK": "zh-rHK",
- "zh-TW": "zh-rTW",
- "zu": "zu"
- }
- }
- },
- {
- "source": "/app/src/nonFree/res/values/strings.xml",
- "dest": "/nonFree_strings.xml",
- "translation": "/app/src/nonFree/res/values-%android_code%/strings.xml",
- "languages_mapping": *stringmapping
- }
-]