“Arbisoft is an integral part of our team and we probably wouldn't be here today without them. Some of their team has worked with us for 5-8 years and we've built a trusted business relationship. We share successes together.”
“They delivered a high-quality product and their customer service was excellent. We’ve had other teams approach us, asking to use it for their own projects”.
“Arbisoft has been a valued partner to edX since 2013. We work with their engineers day in and day out to advance the Open edX platform and support our learners across the world.”
81.8% NPS78% of our clients believe that Arbisoft is better than most other providers they have worked with.
Arbisoft is your one-stop shop when it comes to your eLearning needs. Our Ed-tech services are designed to improve the learning experience and simplify educational operations.
“Arbisoft has been a valued partner to edX since 2013. We work with their engineers day in and day out to advance the Open edX platform and support our learners across the world.”
Get cutting-edge travel tech solutions that cater to your users’ every need. We have been employing the latest technology to build custom travel solutions for our clients since 2007.
“Arbisoft has been my most trusted technology partner for now over 15 years. Arbisoft has very unique methods of recruiting and training, and the results demonstrate that. They have great teams, great positive attitudes and great communication.”
As a long-time contributor to the healthcare industry, we have been at the forefront of developing custom healthcare technology solutions that have benefitted millions.
I wanted to tell you how much I appreciate the work you and your team have been doing of all the overseas teams I've worked with, yours is the most communicative, most responsive and most talented.
We take pride in meeting the most complex needs of our clients and developing stellar fintech solutions that deliver the greatest value in every aspect.
“Arbisoft is an integral part of our team and we probably wouldn't be here today without them. Some of their team has worked with us for 5-8 years and we've built a trusted business relationship. We share successes together.”
Unlock innovative solutions for your e-commerce business with Arbisoft’s seasoned workforce. Reach out to us with your needs and let’s get to work!
The development team at Arbisoft is very skilled and proactive. They communicate well, raise concerns when they think a development approach wont work and go out of their way to ensure client needs are met.
Arbisoft is a holistic technology partner, adept at tailoring solutions that cater to business needs across industries. Partner with us to go from conception to completion!
“The app has generated significant revenue and received industry awards, which is attributed to Arbisoft’s work. Team members are proactive, collaborative, and responsive”.
“Arbisoft partnered with Travelliance (TVA) to develop Accounting, Reporting, & Operations solutions. We helped cut downtime to zero, providing 24/7 support, and making sure their database of 7 million users functions smoothly.”
“I couldn’t be more pleased with the Arbisoft team. Their engineering product is top-notch, as is their client relations and account management. From the beginning, they felt like members of our own team—true partners rather than vendors.”
Arbisoft was an invaluable partner in developing TripScanner, as they served as my outsourced website and software development team. Arbisoft did an incredible job, building TripScanner end-to-end, and completing the project on time and within budget at a fraction of the cost of a US-based developer.
Authentication and Session Management Requirements
Most mobile apps connect to a remote service where users log in. Even though most of the work happens on the backend, the Mobile Application Security Verification System (MASVS) has set some basic rules on how sessions and accounts should be managed.
If the app allows users to access a remote service, it must have some form of authentication, like a username and password, at the remote endpoint.
If a mobile app is connected to a remote service, it should use authentication methods like email and password at the remote endpoint. This helps verify the user's identity and prevents unauthorized access. It also makes the connection between the mobile app and the remote service secure.
Scenario
A mobile app allows users to access a remote service, like viewing personal data, making transactions, or using restricted content, but does not have proper authentication at the endpoint.
Attack
Apps without authentication can be easily attacked. Hackers can pretend to be real users and gain access to sensitive data. If authentication is missing at the endpoint, an attacker can reuse valid requests to perform unauthorized actions.
If authentication is only on the client side and not on the remote server, attackers can bypass the app, steal user credentials, or retrieve user data. Attackers can also overload the service, causing a Denial of Service (DoS) attack.
Mitigation
Secure authentication methods like username/password, OAuth, or JWT should be used at remote endpoints. This ensures that users are verified before accessing the service.
A token should be issued once the user logs in. This token should be attached to every request, and the system should check the token each time to verify the user.
The Remote Endpoint Must End the Session When the User Logs Out
When a user logs out, the remote service should end the session by expiring the session token. This prevents session hijacking, where attackers keep using an old session.
Scenario
A mobile app connected to a remote service does not end the session after the user logs out. The session remains active.
Attack
If an attacker gets access to a session token using Cross-Site Scripting (XSS), they can continue using the session even after the user has logged out.
Mitigation
The remote endpoint should invalidate the token when the user logs out. This ensures that the old session cannot be used again. This step protects user data and prevents unauthorized access after logout.
The Remote Endpoint Should Block Too Many Login Attempts
The backend should have a system that limits invalid login attempts. If a user enters the wrong password too many times, their account should be locked. This helps prevent brute-force attacks and improves security.
Scenario
A mobile app does not block an account even if there are too many failed login attempts.
Attack
If there is no limit on failed login attempts, attackers can use automated tools to try different passwords until they break in. This is called a brute-force attack.
If too many login requests are sent at the same time, the server can slow down or crash, causing a Denial of Service (DoS) attack that affects real users.
Mitigation
The remote endpoint should limit the number of login attempts from a single IP address or user account within a short time.
There are two ways to do this:
Lock the account after too many failed attempts.
Use CAPTCHA to block automated attacks after multiple failed logins.
Sessions Should End After a Set Time of Inactivity, and Access Tokens Should Expire
Access tokens should be designed to expire after a certain time. This ensures that users have to log in again after a while. It also reduces the risk of session hijacking and other security threats.
Scenario
A mobile app connected to a remote service does not have an auto-logout feature. If a user logs in and forgets to log out, their session remains active forever.
Attack
If an attacker steals the token using phishing, XSS, or network eavesdropping, they can use it to access the user’s account.
If the token does not expire, the attacker can continue using the stolen session for a long time without needing to log in again.
Mitigation
The remote endpoint should:
End inactive sessions after a certain period.
Set an expiry time for tokens. This forces users to re-authenticate after a while, reducing the risk of stolen tokens being misused.
Lastly,
By enforcing strong authentication and session management practices, mobile applications can significantly reduce security risks, protect user data, and prevent unauthorized access. Implementing these measures at the remote endpoint ensures a more secure and resilient mobile experience for users.