SentryPeerHQ - VoIP fraud detection platform - open source

Hi all,

For the past 8 months I’ve been researching and architecting https://sentrypeer.com which is now live.

SentryPeerHQ is an Elixir/Phoenix application web app and RESTful API which uses Phoenix LiveView and is backed by a PostgreSQL database with timescaledb. On the frontend we use TailwindCSS for styling. It lives on fly.io and is fully clustered using libcluster and loads of other things you’d expect to see (Oban, Cachex, Stripe, FunWithFlags etc).

I learned Elixir from all the pragprog books, online Elixir docs and various other places in 2022. I really learned a lot from GitHub - plausible/analytics: Simple, open source, lightweight (< 1 KB) and privacy-friendly web analytics alternative to Google Analytics. and the LiveView book - Programming Phoenix LiveView: Interactive Elixir Web Programming Without Writing Any JavaScript by Bruce A. Tate and Sophie DeBenedetto

So for anyone out there that want to see/learn how a full SaaS phoenix/liveview/elixir stack works with real code, have a read → GitHub - SentryPeer/SentryPeerHQ: Fraud Detection for VoIP. Use SentryPeer® HQ to help prevent VoIP cyberattacks and fraudulent VoIP phone calls (toll fraud) at https://sentrypeer.com

I’ve still tons to do and CI tests to sort, but it’s been an amazing journey so far and this really is a fantastic ecosystem to be in. I plan to do lots of blog posts about all the bits when I can, what I love and why I chose it when I can.

I’m still learning so please point out smells, badness, how things can be done better.

8 Likes

You can watch the honeypot probes come in in realtime too on the front page :slight_smile: Phoenix made that very easy for me. I’ve also put that in for API queries and other places. I truly love this stack!

ELI5: what does it do? It looks so pretty, but I know nothing about Voip…
Very inspiring, looks very brushed off.

1 Like

Very fascinating, offering the software for ingestion is great, even though I think that having receive channels for different types of data is more versatile, in your case it might become a problem if you want to add different types of fraud detections.

1 Like

Thanks!

I’ll assume a 5 yo knows what a phone number and IP address is :slight_smile:

It’s a big pot of phone numbers and IP addresses that VoIP service providers/business users can check to see if their customer/users are calling known. We’ve collected them from live honeypots where fraudsters are trying to get through.

A bit more here ClueCon Weekly with Gavin Henry - YouTube

1 Like

Thanks! There is a /api/events/ endpoint for your own, but our own node does it all right. Allows flexibility for integrations. Just finishing off updating docs.sentrypeer.com

2 Likes