Logrole Gives You Permissions Based, Granular Searching For Twilio Logs


Few hold the keys to the Twilio Console, but many need Console data. As the developer with keys, you balance sharing valuable data with keeping that Console data safe.

You can’t give away the keys when a team member needs info on a single message. The alternative of pulling reports manually for each request is also infeasible — especially when you’re fighting bad guys.

A long-standing Twilio customer specializing in human trafficking investigations contracted developer Kevin Burke to build a tool that satisfies the needs of the keyholder and the needs of the person looking for data. That client (graciously) chose to open-source the project for the benefit of Twilio customers everywhere.

Logrole is a Go-based tool that enables organizations to delegate limited, role-based access to Twilio logs and search them faster and with more granularity. It also allows others to get the data they’re looking for on their own, securely.

Giving Users The Log Access They Need (And Nothing More)


Developers can set customizable permissions for their Twilio Logs. Now teams without the keys can independently access the data they need, and only the data they need.

Logrole lets you limit access to the body of SMS & MMS messages and limits searches past a certain date. This was particularly important for the client in shielding their support agents from sensitive images. Account SIDs are hidden from end users, and URLs may be enabled or disabled based on the technical needs of the end user. That’s the security side of Logrole; the UX side is the meat of the tool.


Logrole was designed to make it easier for teams to search for and work with Twilio data. For example, my 9am is different than my co-worker’s 9am. I’m in San Francisco. They’re in New York. Logrole is time-zone aware and specific to each user so you don’t have to google “Mountain Time to Pacific Time” before you search.

Take a look at the other time-saving hacks into built into Logrole. The tool also allows you to search Resource SIDs straight from your browser. You can search or paste any SID to jump straight to it.

Building With Go

It only took Kevin Burke a month to build Logrole, thanks in no small part to choosing Go.

“I really like the standard library, I like that it runs pretty quickly when you run it and doesn’t take a lot of memory to do so. You can also do really cool stuff with coordinating requests across multiple threads (and canceling them all at once) that are very difficult to accomplish in other languages,” says Kevin.

“I developed a separate twilio-go library as a part of the project. It’s the only client library that can filter calls and SMS by start/end, down to the millisecond. There are a bunch of other nice features as well; I’d encourage Go users to check it out.”

If you’re a Twilio or Go fan (or both) you can check out the library here, and grab Logrole on GitHub right here.