Inspiration

The inspiration behind B3ta IDS came from observing how NGOs, journalists, and human rights defenders in politically unstable regions are left vulnerable to cyberattacks and unauthorized physical access. These groups rarely have access to enterprise-grade security systems, yet they are often the primary targets of digital surveillance, intrusion, and information leaks. We wanted to build something that’s accessible, affordable, lightweight, and designed to work even in the most resource-constrained environments.

By aligning our goals with the UN Sustainable Development Goals (SDGs) — specifically SDG 16 (Peace, Justice & Strong Institutions) and SDG 9 (Industry, Innovation & Infrastructure) — we envisioned a tool that protects digital infrastructure critical to peacebuilding and justice.

What it does

B3ta IDS is a hybrid Host-based Intrusion Detection System (HIDS) that:

Detects if someone is physically present in front of a PC for more than 5 seconds using face detection.

Captures the intruder’s image and sends it to the owner’s mobile device via secure channels.

Allows the owner to grant or deny access using a simple Flutter app interface.

If access is denied, the PC locks down or shuts down automatically.

Includes additional remote controls like PC lock, shutdown, and access granted — all from the app.

All of this happens without the need for enterprise cloud dependencies, making it ideal for offline-first environments.

How we built it

Face Detection was implemented using OpenCV and a custom script to monitor face presence duration.

A Flask-based Python server runs on the PC, handling detection events and listening for commands.

Socket communication is used for fast, local data exchange.

Firebase Cloud Messaging (FCM) is used to send alerts to the mobile app.

The Flutter mobile app displays real-time alerts, intruder images, and provides command options to lock or shut down the PC remotely.

We used Docker to containerize the backend for easier deployment across multiple NGO setups.

Challenges we ran into

Making the system lightweight and offline-capable while still maintaining real-time functionality.

Ensuring face detection accuracy under varying lighting conditions and camera qualities.

Designing an interface that was simple enough for non-technical NGO staff to use confidently.

Creating a secure communication layer between the mobile app and the PC, especially when firewalls or restricted internet access are involved.

Testing the solution on low-resource machines and older Android phones for compatibility.

Accomplishments that we're proud of

Successfully built a fully functional real-time HIDS tailored for humanitarian and NGO use.

Maintained privacy by avoiding cloud-based face recognition, keeping all image processing local.

Designed the mobile app with a user-first, low-bandwidth approach, ensuring reliability in areas with unstable internet.

Developed a custom alert and response protocol that works seamlessly between Python and Flutter.

Created a deployment-ready Docker image, simplifying installation for field organizations.

What we learned

How to integrate real-world security concerns into a technical product meant for non-technical end users.

How to balance detection speed and accuracy using OpenCV in a resource-efficient way.

Deeper insights into secure mobile-to-PC communication, particularly across networks with firewalls or NAT restrictions.

The importance of UX and trust in security systems — we prioritized transparency, feedback, and control for users throughout.

What's next for B3ta IDS

Multilingual support to expand accessibility to NGOs and civil orgs around the world.

GPS geofencing for mobile alerts tied to field location.

Integration with digital rights platforms like Access Now or Reporters Without Borders.

Partnering with UN-affiliated agencies or local NGOs to deploy B3ta IDS in vulnerable regions.

Build a training toolkit for volunteers and IT workers in developing countries to install and maintain the IDS.

Built With

Share this project:

Updates

Submission history