If you find a vulnerability or a security issue, please report it on our Hacker One Bug Bounty program. ![]() If you want to learn more about cryptography at Dashlane, have a look at our Security Whitepaper. The algorithms serve for Symmetric Cryptography, Asymmetric Cryptography, and Key Derivation. We use the OpenSSL library and Argon2 as cryptography primitive functions to build algorithms for Dashlane. CryptographyÄashlane is heavy using Cryptography to protect the data of the users. See NavigatorImpl.kt or drawer_navigation.xml as a starter to explore it. We have a mix of fragments and activities and navigation is handled through the Jetpack Navigation library. Dependency injectionĪfter a long time of using Dagger, we moved to use Hilt at the end of 2021 and used this migration as an opportunity to reduce the number of things that we were getting through our SingletonComponent. actors) and now migrate them to Flows, especially where we already migrated to MVVM. We used a lot of the experimental coroutine APIs (e.g. ![]() Dashlane Premium (opens in new tab) 59. We are making extensive use of Coroutines and Flows in the app. The Keeper mobile app also does an excellent job of bringing over most of the functionality from the desktop and web interfaces to your mobile. We have adopted kotlin and most but not all of the codebase is converted, so we still have some legacy java classes. However, we used MVP for years and not everything is migrated yet to MVVM. It helps us isolate the business logic in clear layers and components. Our current standard architecture pattern used for the views is MVVM. Overall modularization helped us with our build processes, while also allowing us to reuse modules in our more recently released Authenticator app. Dashlane is a password manager and digital wallet application designed to help users store and remember their passwords, credit card information, and other confidential data. Some modules are directly put in our repository while others are built separately and published on a private maven repository to be used by our apps. The app used to be monolithic in a single repository and was progressively modularized. High-level architecture Codebase organization For example, most of our codebase is now in Kotlin, but we still have a few java classes. We are doing continuous refactoring and adopting new tech, as a consequence, we also have legacy code as our migration plans often focus on new features and code that changes frequently. cryptography was using a C++ library in common with our desktop apps). The Android project was started back in 2010 and was written in Java with some usage of native libraries (e.g. We are working with a modularized app, and we plan to publicly release the source code of more modules. Dashlane Signup and Security To start with Dashlane on a desktop, you need to download the browser extension instead of a desktop application. ![]() It is publicly available for everyone to audit our code and learn more about how our Android applications work. This repository contains the source code for our Android password manager application.
0 Comments
Leave a Reply. |