0% found this document useful (0 votes)
4 views14 pages

Geo-fenced App for Camera Access Control

Uploaded by

deemdraco
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views14 pages

Geo-fenced App for Camera Access Control

Uploaded by

deemdraco
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Sri Lanka Institute of Information Technology

Software Stack Specification

Geo-fenced Mobile App to Restrict and


Report Unauthorized Camera Usage During
Office Hours

Information Security Project - IE3092


[Link]. (Hons) in Information Technology
Student Details

Student ID Student Name

2|Page
Table of Contents
1) Introduction..............................................................................................................................5
1.1 Purpose..................................................................................................................................5
1.2 Intended Audience and Reading Suggestions........................................................................5
1.3 Project Scope.........................................................................................................................5
2) Overall Description..................................................................................................................7
2.1 Product Perspective...............................................................................................................7
2.2 Product Features....................................................................................................................7
2.3 Operating Environment.........................................................................................................7
2.4 Design and Implementation Constraints................................................................................7
2.5 Assumptions and Dependencies............................................................................................8
3) System Features.......................................................................................................................9
3.1 User Authentication and Access Control...............................................................................9
3.1.1 Description and Priority..................................................................................................9
3.1.2 Stimulus/Response Sequences........................................................................................9
3.1.3 Functional Requirements................................................................................................9
3.2 Location Tracking and Validation.........................................................................................9
3.2.1 Description and Priority................................................................................................10
3.2.2 Stimulus/Response Sequences......................................................................................10
3.2.3 Functional Requirements..............................................................................................10
3.3 Administrative Dashboard...................................................................................................10
3.3.1 Description and Priority................................................................................................10
3.3.2 Stimulus/Response Sequences......................................................................................11
3.3.3 Functional Requirements..............................................................................................11
4) External Interface Requirements...........................................................................................12
4.1 User Interfaces.....................................................................................................................12
4.2 Hardware Interfaces.............................................................................................................12
4.3 Software Interfaces..............................................................................................................12
4.4 Communications Interfaces.................................................................................................13
5) Other Nonfunctional Requirements.......................................................................................14
5.1 Performance Requirements..................................................................................................14
5.2 Safety Requirements............................................................................................................14

3|Page
5.3 Security Requirements.........................................................................................................15
6) References..............................................................................................................................16

4|Page
1) Overall Description

2.1 Product Perspective

The Geo-fenced Mobile App to Restrict and Report Unauthorized Camera Usage During Office
Hours is a self-contained product developed to address security concerns within corporate
environments. It is not a part of an existing system but serves as a standalone solution to enforce
camera usage restrictions based on user location and time. However, it can integrate with
existing security systems and databases through APIs for enhanced functionality.

2.2 Product Features

The major features of the Geo-fenced Mobile App include:

 Geo-tracking and Time Processing: Obtain accurate date and time and process it to
determine if it falls within designated office hours.
 Location Validation: Use GPS to fetch the current location of the user's device and
analyze it to confirm if the user is within the specified office area.
 User Authentication and Access Restriction: Authenticate users against existing user lists
and restrict camera access for flagged users, based on sensitive department or designation
roles.
 Real-time Verification: Cross-verify user location for camera access requests and
generate detailed logs of user activities and violations.
 Admin Panel: Provide an admin panel for monitoring user activities, accessing detailed
logs, and managing user roles and permissions.

2.3 Operating Environment

5|Page
The software will operate on Android devices running Android OS version 5.0 (Lollipop) or
higher. It requires access to GPS and network connectivity for accurate location tracking.
Additionally, the app must be compatible with Firebase for user authentication and database
management. It must peacefully coexist with other mobile applications installed on the device.

2.4 Design and Implementation Constraints

 Corporate Policies: The app must comply with corporate security policies and regulatory
requirements regarding data privacy and user authentication.
 Hardware Limitations: The app's functionality may be constrained by the capabilities of
the user's device, including GPS accuracy and camera hardware.
 Technology Stack: Development will be done using Flutter Dart programming language
and Firebase for user authentication and database management.
 Security Considerations: The app must prioritize data security and user privacy, adhering
to best practices for secure app development.

2.5 Assumptions and Dependencies

 Third-party Components: The app may utilize third-party libraries for geo-tracking and
camera access functionalities.
 Development Environment: Assumed availability of development tools and environments
required for Flutter Dart app development.
 User Cooperation: Assumption that users will consent to the app's usage and abide by
corporate policies regarding camera restrictions during office hours.

6|Page
2) System Features

This section outlines the major services provided by the Geo-fenced Mobile App.

3.1 User Authentication and Access Control

3.1.1 Description and Priority


This feature enables user authentication and access control based on predefined roles and
permissions. It is of high priority as it ensures the security of the application.

3.1.2 Stimulus/Response Sequences


Stimulus: User attempts to log in to the application.

Response: The system validates the user's credentials against the Firebase authentication system.
If authentication is successful, the user is granted access to the application; otherwise, access is
denied.

3.1.3 Functional Requirements


- REQ-1: The system shall provide a login interface for users to enter their credentials.

- REQ-2: Upon receiving login credentials, the system shall authenticate the user using Firebase
Authentication.

- REQ-3: If authentication is successful, the system shall grant the user access to the application's
features.

- REQ-4: The system shall restrict access to sensitive features based on user roles and
permissions stored in Firebase Firestore.

7|Page
- REQ-5: In case of invalid credentials, the system shall display an error message and prompt the
user to re-enter their credentials.

3.2 Location Tracking and Validation

3.2.1 Description and Priority


This feature tracks the user's location in real-time and validates if they are within the specified
office area during designated office hours. It is of high priority as it forms the core functionality
of the application.

3.2.2 Stimulus/Response Sequences


 Stimulus: User opens the application during office hours.
 Response: The system retrieves the user's current location using GPS and validates it
against predefined office boundaries. If the user is within the office area, access to the
camera is restricted; otherwise, access is granted.

3.2.3 Functional Requirements


- REQ-6: The system shall access the device's GPS to fetch the user's current location.

- REQ-7: The system shall define and store predefined office boundaries in Firebase Firestore.

- REQ-8: Upon receiving the user's location, the system shall validate it against the predefined
office boundaries.

- REQ-9: If the user is within the office area during designated office hours, the system shall
restrict camera access.

- REQ-10: The system shall generate a detailed log entry for each validation attempt, capturing
the user's location, timestamp, and validation result.

8|Page
3.3 Administrative Dashboard

3.3.1 Description and Priority


This feature provides administrators with a dashboard to monitor user activities, access detailed
logs, and manage user roles and permissions. It is of medium priority as it enhances the
application's usability and administrative capabilities.

3.3.2 Stimulus/Response Sequences


 Stimulus: Administrator logs in to the administrative dashboard.
 Response: The system authenticates the administrator using Firebase Authentication and
grants access to the administrative dashboard.

3.3.3 Functional Requirements


- REQ-11: The system shall provide an administrative dashboard with login functionality.

- REQ-12: Upon successful authentication, the system shall grant access to the administrative
dashboard.

- REQ-13: The dashboard shall display user activity logs, including login attempts, location
validations, and camera access requests.

- REQ-14: Administrators shall be able to manage user roles and permissions, including adding,
editing, and removing user accounts.

- REQ-15: The system shall allow administrators to export user activity logs in a downloadable
format for further analysis.

9|Page
3) External Interface Requirements

4.1 User Interfaces


The user interface of the Geo-fenced Mobile App will consist of the following logical
characteristics:

 Login Interface: Provides a form for users to enter their credentials.


 Main Application Interface: Displays information related to user location validation,
camera access status, and any notifications.
 Administrative Dashboard: Offers administrators access to user activity logs, user
management features, and log export functionality.
 Error Message Display: Standard error messages will be displayed in case of invalid user
input or system errors.
 GUI Standards: The app will follow Material Design guidelines for consistency and
usability across Android devices.
 Screen Layout Constraints: Screens will adapt to various screen sizes and orientations for
optimal user experience.

4.2 Hardware Interfaces

The Geo-fenced Mobile App will interact with the following hardware components:

 Android Devices: The app will run on Android devices with GPS capability and camera
hardware.
 GPS: The app will utilize the device's GPS hardware to fetch the user's location.
 Camera Hardware: Access to the device's camera hardware will be controlled based on
user location and time.

10 | P a g e
4.3 Software Interfaces

The software interfaces of the Geo-fenced Mobile App include:

 Firebase Authentication: Version X.X.X - Used for user authentication and management
of user credentials.
 Firebase Firestore: Version X.X.X - Stores user roles, permissions, office boundaries,
user activity logs, and configuration settings.
 Flutter SDK: Version X.X.X - Development framework used to build the mobile
application.
 Geolocator Package: Version X.X.X - Flutter package used to access the device's GPS
hardware.
 Material Design: Follows Material Design guidelines for UI consistency.

4.4 Communications Interfaces

The Geo-fenced Mobile App will require the following communications functions:

 Network Server Communications: The app communicates with Firebase servers for user
authentication, data storage, and real-time updates.
 Data Transfer Protocol: Uses HTTPS for secure communication with Firebase servers.
 Message Formatting: Data exchanged with Firebase servers will be formatted in JSON.
 Communication Security: Data transfer will be encrypted using TLS to ensure secure
communication.
 Data Transfer Rates: Data transfer rates will depend on network connectivity but aim for
optimal performance to minimize latency.
 Synchronization Mechanisms: Utilizes Firebase Realtime Database for real-time
synchronization of user activity logs.

11 | P a g e
4) Other Nonfunctional Requirements

5.1 Performance Requirements

Performance requirements for the Geo-fenced Mobile App include:

 Response Time: The application should respond to user interactions within 2 seconds
under normal operating conditions.
 Location Tracking Accuracy: The GPS module should provide location accuracy within
10 meters under optimal conditions.
 Real-time Updates: User activity logs should be updated in real-time, reflecting any
changes within 5 seconds of occurrence.
 Scalability: The application should support a minimum of 1000 concurrent users without
significant degradation in performance.
 Resource Utilization: The app should utilize device resources efficiently, minimizing
battery consumption and CPU usage.

These performance requirements ensure that the Geo-fenced Mobile App operates smoothly and
efficiently under various conditions, providing users with a seamless experience.

5.2 Safety Requirements

Safety requirements for the Geo-fenced Mobile App include:

 Data Privacy: The application should comply with relevant data privacy regulations (e.g.,
GDPR) to protect user information.
 User Notification: Users should be notified when their location is being tracked and when
camera access is restricted.

12 | P a g e
 Emergency Override: Provide a mechanism for users to override camera restrictions in
case of emergencies.
 Error Handling: The app should gracefully handle errors and exceptions to prevent data
loss or system instability.

These safety requirements aim to ensure the safe and secure use of the application, mitigating
potential risks and protecting user privacy.

5.3 Security Requirements

Security requirements for the Geo-fenced Mobile App include:

 User Authentication: Users must authenticate using secure methods (e.g.,


email/password, OAuth) to access the application.
 Role-based Access Control: Access to sensitive features should be restricted based on
user roles and permissions.
 Data Encryption: User data, including location information and activity logs, should be
encrypted both in transit and at rest.
 Secure Communication: All communication between the app and external servers should
be encrypted using TLS/SSL protocols.
 Security Auditing: Regular security audits should be conducted to identify and mitigate
potential vulnerabilities.

These security requirements aim to protect the confidentiality, integrity, and availability of user
data, ensuring the application's trustworthiness and compliance with security standards.

5) References
There are no sources in the current document.
13 | P a g e
14 | P a g e

You might also like