Explore the company and associate network of an infamous human rights violator.
Use lasso selection to select nodes and edit them (delete or expand)
Generate a link to the network you created and easily share on Twitter.
Create embeddable graphs to put side-by-side with narrative text to provide context and an interactive experience for readers.
We embarked on this journey after two of our team members were present at the July 2016 Bastille Day terrorist attack in Nice, France. After witnessing this atrocity firsthand, we wanted to apply our software engineering skills for social good by empowering activists, researchers, journalists and analysts conducting data-driven investigations into corruption, war crimes, nuclear proliferation, environmental crime, human trafficking and other investigative areas.
We conducted a range of user interviews with researchers using public data (business records, court documents, satellite imagery, social media photos and videos). This includes student digital verification groups verifying video evidence of war crimes in Syria, as well nonprofit researchers like those in C4ADs, finding networks of companies evading sanctions on North Korea. We witnessed researchers spending dozens of manual hours poring through messy public record databases and inputting link information into spreadsheets.
The common problem among all of these groups was clear - they needed a network visualization & collaboration tool.
To these researchers, the US Treasury sanctions data list is often the first starting point for an investigation, since the list contains information (addresses, passport numbers, affiliated companies and organizations) for many of the worst violators of human rights and international law. Even here in the UK, to interact with US companies and have access to the US market, companies need to be compliant with the US sanctions list. Within this data, there are often robust and multi-layered networks of people and companies, especially since many people trying to hide their money will set up holding and shell companies to hide their tracks. Thus, we decided to start by seeding our network visualization tool with this data.
What it does
ArcherViz provides insight into U.S. Treasury sanctions data for a community of researchers, investigators, and analysts, as well as businesses and government.
U.S. sanctions are a list of some of the worst individuals and organizations: terrorists, human and drug traffickers, nuclear weapon proliferators, human rights violators, and war criminals.
The official government website (https://sanctionssearch.ofac.treas.gov) used to understand this list is difficult to search and provides very little functionality -- yet it plays a crucial role in academic, compliance, and due diligence investigations. By completely rethinking sanctions investigations from a data-first perspective, ArcherViz aims to make this data accessible in a way that it has never been before by allowing users to intelligently query and understand (via powerful graph visualization) this critical dataset.
How we built it
Our data comes from the official XML data released by the U.S. Treasury -- we’ve developed a tool which allows us to parse and structure this complex XML document. On top of this data, we've written a full search & graph query API in Scala, powered in part by ElasticSearch. The frontend is written in React with Redux, with d3.js being used for the graph visualization.
Challenges we ran into
On a technical level, integrating d3.js and React/Redux was an incredibly difficult engineering challenge. Because the graph visualization is so integral to the workflow of the platform, it required a lot of architectural considerations and design decisions, especially in regards to how data is stored, accessed, and mutated both in the frontend and backend. Engineering this integration while maintaining a low degree of coupling and a clean separation of concerns between the React frontend and the d3.js graph visualization was a challenge.
Accomplishments that we're proud of
We've received lots of traction and praise, and the US Treasury has even reached out and awarded us a "challenge coin" medal for our work in making their data more accessible to the people who need it most. Democratizing access to sanctions data has massive implications for the areas of anti-money laundering & compliance, geopolitics & diplomacy, and human rights. It is incredibly gratifying to hear about how our platform is changing the way that our users conduct data analysis and share their insights with the community.
What we learned
We've learned a lot about the needs of our users in the many industries that this product affects. Sanctions are a critical tool for many of our users, but we’ve learned that there are many other datasets that are publicly available but not in an accessible format, making it difficult to derive insight from it.
Technologically, we've learned an immense deal about the best ways to structure data in a graph format that is conducive to running powerful queries. We plan to re-architect our entire data infrastructure backend (using an RDF triple store to build a knowledge graph-like system) to allow for greater data modeling flexibility. We also plan to support functionality such as collaboration and community data sharing.
What's next for ArcherViz
We plan to continue our work and grow the community behind the product by building out a powerful collaboration layer on top of the graph visualization and data analytics platform. We've conducted dozens of user interviews with members of the community to hone in on pain points and drive product direction. Given the high-impact nature of our community members (both on individual and institutional levels) and their work -- which revolves around areas such as illicit financing, money laundering, human rights, counterterrorism, and war crimes -- we know that designing tools that perfectly suit their needs will allow us to scale our social impact.