DEV Community

Cover image for Cusdis: a privacy-friendly comment system
Lucretius Biah
Lucretius Biah

Posted on

Cusdis: a privacy-friendly comment system

Cusdis is a new lightweight, privacy-first, open-sourced comment system. It's a perfect alternative for Disqus users who want to retain their privacy.

Installing Cusdis is very easy, and its user interface is simple. Users do not need to sign up before they can comment on your website. This is very great for me because I do not want users to spend time creating an account to just write a single comment.

Pros

  • Cusdis is open-sourced.
    This means that if you are a developer, you can read the source code and make sure they are not tracking your data.

  • It is self-hostable.
    In case you want to host your data on your server, Cusdis allows you to do just that.

  • It doesn't require the commenter to sign in.

  • It also doesn't use cookies.

Cons

  • You have to manually moderate comments.
    Unlike other comment systems, you have to manually moderate your comments in Cusdis. This means that comments are not displayed by default until you approve them.

  • The comment widget is not customizable.
    This means you can't use your custom colours and fonts within the widget.

Installing it on my website

As I said earlier, installing Cusdis is very easy. Just head over to their website and create an account. After that, you will be redirected to your dashboard which will allow you to add a new website. After adding the website, you will be given an embed code which you will place wherever on your page where you want your comment widget to appear.

On this site, my blog posts page is on src/routes/blog/[slug]/+page.svelte, and this is how I inserted Cusdis into my website.

<article>
<div>
<!-- article content -->
</div>
<!-- [tl! focus:start] -->
<div id="cusdis_thread"
  data-host="https://cusdis.com"
  data-app-id="{appid}"
  data-page-id="{metadata.slug}"
  data-page-url="{$page.url.pathname}"
  data-page-title="{metadata.title}"
  data-theme="{$theme}">
</div>
<svelte:head>
    <script async defer src="https://cusdis.com/js/cusdis.es.js"></script>
</svelte:head>
<!-- [tl! focus:end] -->
</article>
Enter fullscreen mode Exit fullscreen mode

This is how I display Cusdis on my website. I provide variables for all the data Cusdis will need to render the comment system.

Variable Name Description
data-host Refers to the domain on which the data is loaded
data-app-id Unique ID that is generated by Cusdis
data-page-id Unique keyword used to identify the page (You can use the blog's slug)
data-page-url Current page's URL
data-page-title Title of the current page
data-theme Theme of the widget (Could be light, dark or auto)

Top comments (0)