The Truly Media Platform
EDMO has set up a digital collaborative platform that brings together fact checkers and/or researchers in a common environment, allowing them to communicate and share valuable information, and to access a set of tools and services that will facilitate the detection and analysis of misinformation incidents.
The designed solution is based on Truly Media, a verification platform that takes users to a journey with detailed steps, from receiving leads of potential disinformation to organizing the team members that will be tasked to analyze it and finally to actually making use of a continuously enhanced toolset at the verification stage.
Given the fact that automated verification and fact-checking may never become possible, EDMO’s platform aims to assist the ‘human in the loop’ concept; helping with the optimization of the workflow, the facilitation of member’s collaboration and the integration of multiple fact-checking tools, all of which are designed to increase the efficiency of the system.
The Truly Media platform offers the following capabilities:
The platform is modular, allowing linking and API-based integration with tools/modules and services developed by third parties, according to the technical specifications stated below.
How can someone verify news in Truly Media?
Advanced Search
Content Organisation
Digital Content Verification On The Spot
Users can select the most important items for their story and verify each item individually using a verification checklist and integrated third-party verification tools.
With the verification checklist, users can record the results of their analysis on a specific Collection item. The checklist has been designed based on the workflow of investigative journalism. Users can also mark down each item’s verification status as raw, pending, unclear, verified, or fake.
Truly Media provides a variety of tools which help users determine the veracity of online content, like the following:
One of the most common issues for journalists and fact-checkers is verifying images and videos circulating on social media. With Truly Media, users can examine the authenticity of a photo or a video with:
Technical Description of Truly Media
Truly Media is a web application built in Angular backed by a Java Spring boot backend. The backend is exposing a RESTful HTTP API over SSL which is consumed by the frontend on a stateless manner. The authentication is performed initially over Twitter’s OAuth2.0 mechanism. The real-time collaboration features are powered by a socket server built in socket.io/node.js. For asynchronous (heavy processing) tasks, the application follows a Service Worker pattern.
The storage layer consists of various repositories for different purposes each: A replica set NoSQL MongoDB is responsible for metadata object (JSON) storage, An Amazon S3 Bucket for binary file storage (e.g. photos/videos), Apache Solr Server for full-text indexing and retrieval and a RabbitMQ message broker for event messaging.
Most of Truly Media’s elements reside on the cloud. The back-end is running as a single process on Heroku/AWS. Several instances of this process can run on multiple Heroku Dynos exposing the same HTTP interface. The load balancing of the various instances is automatically controlled by Heroku itself, therefore the platform can offer high elasticity in terms of scalability. MongoDB is hosted on MongoLab as a replica set with automatic failover, scheduled backups and high scalability. The frontend is served by Amazon S3 and Amazon Cloudfront CDN. The Single Page Application nature of Angular lets the frontend run exclusively on the client’s browser, therefore not consuming resources of any server. The RabbitMQ message broker is provided as a service by CloudAMQP. Finally, as already mentioned, the binary/object storage is provided as a service by Amazon S3.
Technical Specifications for Integration
A prerequisite for a service in order to be integrated with Truly Media is to expose an HTTP API, more preferably following REST conventions.
Truly Media can consume the API and visualise the data provided on own User Interface. The communication with the REST interface has to be made over SSL/HTTPS and there must be an authentication mechanism (e.g. JWT).
In case a service is not providing an HTTP API, Truly Media can also request access on a dataset (e.g. Database) in order to crawl and fetch data and then feed it into the Truly Media repository. A similar approach can be followed with feeds (like RSS), which can be periodically accessed by Truly Media with scheduled tasks running offline. Finally, in case external applications or services need to integrate the Truly Media database or Truly Media’s backend services, everything is exposed as HTTP RESTful API, so it can be consumed, under the condition that the client side authenticates identity with a JWT token.