Labirynth Drives is a startup specializing in the security of portable drives. The reason this startup was established was to minimize the risk of unauthorized access to data after losing or stealing a drive with sensitive data. In 2021, we undertook to create a mobile application for them, the task of which was to authorize access to data on the drive. The choice of our team as the contractor was dictated by our experience in the field of IoT as well as our skills in the area of the TLS protocol and the Flutter framework.
Key Features
Ability to read the disk content only after authorization in the mobile application
Ability to remotely erase disk content - the entire system or selected data
Granting access remotely
Access authorization using a fingerprint
Encrypted TLS connection
Mechanism for sending commands directly to Bluetooth Low Energy, without the intermediary of the API
Project goal
The main goal of the project for Labirynth Drives was to ensure the safety of data stored on portable drives by creating an innovative IoT mobile application. The application was to allow access authorization, remote management of disk content, and provide mechanisms that would protect data from being lost or stolen, shielding them from access by unauthorized persons.
An additional goal was to propose such a software solution that for security reasons, there would be no need to use access via API and to code the application in pure Flutter technology.
Implementation process
1
Organizational Meeting and Project Guidelines Establishment
During the crucial organizational meeting, our team thoroughly mapped the capabilities of the drive and the expected functionalities of the application. We received comprehensive documentation from partners regarding the drive's microprocessor and virtual environment, which allowed us to understand the technical aspects of the project in greater detail. We then developed a detailed list of standards that the application was to meet, ensuring it would meet the expectations of the client and end-users. To ensure a smooth workflow, we divided tasks between our team and the Labirynth Drives engineering team. All these efforts resulted in the creation of a detailed project roadmap, which served as a compass in subsequent stages of implementation.
2
User Interface Design
In the next step, our team undertook the task of designing the user interface for the mobile application, striving for maximum usability and intuitiveness. Firstly, we developed a detailed User Flow to understand how the user would navigate the application and interact with its features. Based on this information, we designed the information architecture, allowing for a logical and efficient layout of all elements in the application. The final stage was designing functional views for the mobile application, incorporating all planned functionalities while ensuring an aesthetic and consistent appearance in line with the client's identity.
3
Application Development for the Virtual Drive
Having the graphical interface design, using the virtual environment, we started programming the application. The first step was programming the visual layer of the project, providing an intuitive and aesthetic user experience. Another crucial aspect was programming the mechanism to connect to the drive using Bluetooth Low Energy technology. Ensuring secure data transmission, we implemented data encryption at the Transport Layer Security level, thereby providing protection against potential attacks. Additionally, our team implemented a disk access authorization functionality, ensuring that only authorized individuals could access the stored data.
4
Quality Assurance
Our team paid special attention to the quality of the delivered solution. We performed penetration tests on the mobile application, both in virtual and real environments, to ensure our solution is free from vulnerabilities. Upon receiving the physical drive from the Labirynth Drives engineering team, we also conducted manual tests. These actions aimed to guarantee the highest level of security and functionality of our application, meeting all client expectations.
5
App Publication on the AppStore
The final step was publishing the application in Apple's store. Our team began the publication process by creating a developer account on the AppStore. We then meticulously refined the mobile application to meet all the stringent conditions for publishing on Apple's store. After this stage, we moved on to the verification process, which concluded successfully, allowing us to publish our application in the store. Thanks to careful preparation and collaboration with the Apple team, our users can now easily download and use our application directly from the AppStore.
Results
The Labirynth Drives project was a success both in terms of technology and management. We delivered a fully functional mobile application to the client on time and within budget, thereby meeting two main needs of the startup. Working on the virtual drive, which was only a prototype of the target device, did not pose an obstacle for us. We also efficiently managed the need for changes, e.g., rewriting the code after updating Flutter.
This project confirms our competencies in the field of IoT and that we can operate efficiently and flexibly even in conditions of high uncertainty.
Would you similar app?
Describe your project and wait for idea estimation from our mobile app development expert!