diff --git a/kalamar.conf b/kalamar.conf
index 0d52586..99e16e2 100644
--- a/kalamar.conf
+++ b/kalamar.conf
@@ -10,7 +10,8 @@
     api => $ENV{'KALAMAR_API'} // $api
   },
   Kalamar => {
-    api => $ENV{'KALAMAR_API'} // $api
+    api => $ENV{'KALAMAR_API'} // $api,
+    auth_support => 0
   },
   CHI => {
     default => {
diff --git a/lib/Kalamar.pm b/lib/Kalamar.pm
index 799d8d3..b324be5 100644
--- a/lib/Kalamar.pm
+++ b/lib/Kalamar.pm
@@ -74,7 +74,9 @@
     my $mount_point = '/api/v0.1/';
 
     $self->plugin(Mount => {
-      $mount_point => $self->home->child('lib/Kalamar/Apps/test_backend.pl')
+      $mount_point => $self->home->child(
+        'lib/Kalamar/Apps/test_backend.pl'
+      )
     });
 
     # Fix api endpoints
@@ -128,18 +130,28 @@
   $self->log->info('API expected at ' . $self->config->{Kalamar}->{api});
 
   # Establish routes with authentification
-  my $r = $self->routes->under(
-    '/' => sub {
-      my $c = shift;
+  my $r = $self->routes;
 
-      if ($c->session('auth')) {
-        $c->stash(auth => $c->session('auth'));
-        $c->stash(user => $c->session('user'));
-      };
-      return 1;
-    }
+  # Check for auth support
+  $self->defaults(
+    auth_support => $self->config('Kalamar')->{auth_support}
   );
 
+  # Support auth
+  if ($self->stash('auth_support')) {
+    $r = $r->under(
+      '/' => sub {
+        my $c = shift;
+
+        if ($c->session('auth')) {
+          $c->stash(auth => $c->session('auth'));
+          $c->stash(user => $c->session('user'));
+        };
+        return 1;
+      }
+    );
+  };
+
   # Base query route
   $r->get('/')->to('search#query')->name('index');
 
diff --git a/t/remote_user.t b/t/remote_user.t
index d8a0450..d90fec1 100644
--- a/t/remote_user.t
+++ b/t/remote_user.t
@@ -8,6 +8,8 @@
 
 my $t = Test::Mojo->new('Kalamar');
 
+$t->app->defaults(auth_support => 1);
+
 $t->get_ok('/?q=Baum')
   ->status_is(200)
   ->text_like('h1 span', qr/KorAP: Find .Baum./i)
diff --git a/templates/layouts/main.html.ep b/templates/layouts/main.html.ep
index 7ddb283..5f02f17 100644
--- a/templates/layouts/main.html.ep
+++ b/templates/layouts/main.html.ep
@@ -23,7 +23,7 @@
       %= include 'partial/header'
     % }
 
-% unless (user_auth) { # user not logged in
+% if (!user_auth && stash('auth_support')) { # user not logged in
 % content_for 'sidebar', begin
 % if (flash('handle_or_email') && !param('handle_or_email')) {
 %   param(handle_or_email => flash('handle_or_email'));
