Interlocutor Save

Free, decentralized comment software for the web

Project README


Interlocutor is a decentralized comment software built on a Matrix backend as a Polymer Webcomponent, it is under active development and not ready for production use.

The goal of this project is to provide a censorship-resistant software for discussions, while providing a comfortable modern UI and effective moderation features.


A brief article providing a high-level overview of Interlocutor and a demo application can be found at:

Comment UI

Flagging Comments: Comments can be flagged by users by clicking the flag icon.

Starring Comments: Comments can be favorited by users by clicking the star icon.

Collapsing Comments: Comments can be collapsed by clicking the collapse icon.

Edit Comments: Comments can be editted by clicking the edit button. An edited comment will display the time it was last edited.

User Actions: Ignore User will add the user to a list of Ignored Identities, see Moderation Features below.

Contact User will attempt to initiate a Matrix chat with the user (which they are free to accept or decline).

Moderation Features

Interlocutor supports a number of moderatain features which are accessible to all users. Default settings can be passed as a JSON string by the site-operator to interlocutor-app (see configuring Interlocutor) as well as modified by the users via UI.

  // Flag Kill Threshold determines how many flags a comment should have before it is hidden by filters. 
  // This does not apply to comments Flagged by a Moderator, as those are assumed to be malicious and hidden instantly. 
  flagKillThreshold: 1,
  // Hides all comments below a certain number of stars.  
  voteCollapseThreshold: -1,
  // Enable or disable the moderation filter.
  filterOn: true, 
  // Interlocutor allows the hosting site to specify a list of Moderator Identities.
  // a user may choose to add or remove Moderator Identities from this list.
  trustedIdentities: { '@pik:pik-test': {} },
  // All comments made by Ignored Users will be hidden from view.
  ignoredIdentities: {},
  // Window of time(ms) after a comment is posted that it can be edited.
  // Set to -1 to disable edit completely
  editWindow: 1000*60*24*7, 

Auto-Persisted Settings per Discussion: For a logged in user, changes to Moderation Settings are automatically persisted on a per-discussion basis. This means that your Moderation Settings will be remembered and restored next time you come back.


With a Polymer App bower install and include the import <link rel="import" href="../bower_components/interlocutor/interlocutor-app.html">.

For usage outside of a Polymer App include webcomponents-lite.js and the bundled interloctur-app.

<script src="./webcomponents-lite.js"></script>
<link rel="import" href="./build/bundled/interlocutor-app.html">

Than simply include the <interlocutor-app> element.



See Moderation features for a list of options which can be manipulated in for default-setting.


Static configuration for Interlocutor App.

    flagsEnabled: true, // Flags are enabled for comments.
    upvotesEnabled: true, // Stars are enabled for comments.
    editsEnabled: true, // Edits are enabled for comments. 
    sortStrategy: 'newest' // Default comment sort order, accepts 'newest' or 'top'.


Each comment thread corresponds to a unique Matrix RoomId, currently the relevant room should be created on a per discussion basis. This can be done via. one of the existing Matrix clients or via. the create_room script provided in this repo. Note that creating a room requires the user to be registered on the Homeserver.


Pass a Matrix home-server-address to interlocutor.

Use an existing HomeServer such as the official one at or

For running your own homeserver see:

Open Source Agenda is not affiliated with "Interlocutor" Project. README Source: pik/Interlocutor
Open Issues
Last Commit
6 years ago

Open Source Agenda Badge

Open Source Agenda Rating