Deployment Disclaimer
The public Vercel deployment of Sentinel does not currently run the Ollama/Llama AI model. Vercel hosts the Sentinel web interface and security analysis backend, while AI-generated explanations fall back to a lightweight local explanation system when Ollama is unavailable.
The full Sentinel environment can be run locally with Docker, where Ollama and Llama 3.2 3B provide the AI explanation layer.
The security risk score is calculated independently by Sentinel's deterministic security engine and is not generated or modified by the AI. This ensures that the AI explanation cannot arbitrarily change the underlying security assessment.
Public Demo: Lightweight deployment with deterministic analysis and fallback explanations. Local: Full deployment with Ollama + Llama 3.2 3B.
Inspiration
QR codes are everywhere, but most people scan them without knowing where they will lead. I wanted to solve that problem by creating a security layer between the QR code and the user. The idea became Sentinel: AI Security Scanner — a tool designed to analyse QR codes and their destinations before users interact with them.
What it does
Sentinel scans and decodes QR codes, extracts their contents, and analyses URLs for potential security risks.
It combines VirusTotal threat intelligence with its own local security analysis to identify suspicious indicators. The system then produces a risk assessment and explains the reasons behind the assessment, helping users make a more informed decision before opening a potentially unsafe destination.
The goal is simple: Scan. Analyse. Stay Safe.
How we built it
Sentinel was built using a combination of technologies:
- Python + Flask for the backend
- VirusTotal API for external threat intelligence
- JavaScript / TypeScript for the application logic
- Expo for the mobile application
- HTML/CSS for the web interface
- QR-code decoding
- Local keyword and heuristic analysis
The backend receives the QR data, analyses the URL through multiple security checks, combines the results, and returns a risk assessment to the interface.
Rather than depending entirely on one security service, Sentinel combines external threat intelligence with its own analysis so that suspicious characteristics can still be identified even when a destination has not previously been flagged.
Challenges we ran into
One of our biggest challenges was making the scanner work reliably with different types of QR-code images and ensuring that the decoded information was correctly passed to the security-analysis system.
We also had to work with API responses, URL analysis, risk scoring and communication between the frontend and Flask backend.
Another challenge was making cybersecurity results understandable. A technical security result is not very useful to someone who does not understand cybersecurity, so we focused on turning the analysis into clear warnings and explanations.
Accomplishments that we're proud of
We are proud that Sentinel evolved from an idea into a working cybersecurity prototype.
We successfully connected a Flask backend to the VirusTotal API, implemented additional local analysis, created a risk-assessment system, and developed interfaces for interacting with the scanner.
We are especially proud of combining multiple layers of analysis instead of simply decoding a QR code and opening its destination.
What we learned
Building Sentinel taught us that cybersecurity is not only about detecting threats — it is also about making the results understandable and useful.
We learned how APIs communicate with applications, how backend and frontend components work together, how to analyse URLs using different indicators, and how important testing is when building security software.
Most importantly, we learned how an everyday problem can be turned into a practical cybersecurity solution.
What's next for Sentinel: AI Security Scanner
Our next goal is to make Sentinel more intelligent and capable.
Future versions could incorporate machine-learning-based threat detection, additional threat-intelligence sources, stronger URL and domain analysis, screenshot analysis, browser integration and improved mobile functionality.
We also want to explore using AI to explain security findings in simple language while keeping the underlying analysis transparent.
The long-term vision is to turn Sentinel into a lightweight security layer that helps people investigate digital threats before interacting with them.
Scan first. Investigate first. Trust later.
Built With
- css
- flask
- html
- lucide-react
- ollama
- opencv
- python
- react
- react-native
- typescript
- vite
Log in or sign up for Devpost to join the conversation.