diff --git a/src/atlasViewer/atlasViewer.component.ts b/src/atlasViewer/atlasViewer.component.ts
index fbb7fe151b36d405db40a19988dc8aa5d3076308..2d38266914c0388c162b18a24861a9dae9998e9e 100644
--- a/src/atlasViewer/atlasViewer.component.ts
+++ b/src/atlasViewer/atlasViewer.component.ts
@@ -1,4 +1,4 @@
-import { Component, HostBinding, ViewChild, ViewContainerRef, OnDestroy, OnInit, TemplateRef, Injector } from "@angular/core";
+import { Component, HostBinding, ViewChild, ViewContainerRef, OnDestroy, OnInit, TemplateRef, Injector, AfterViewInit } from "@angular/core";
 import { Store, select } from "@ngrx/store";
 import { ViewerStateInterface, isDefined, FETCHED_SPATIAL_DATA, UPDATE_SPATIAL_DATA, TOGGLE_SIDE_PANEL, safeFilter } from "../services/stateStore.service";
 import { Observable, Subscription, combineLatest, interval, merge, of } from "rxjs";
@@ -29,12 +29,13 @@ import { DatabrowserService } from "src/ui/databrowserModule/databrowser.service
   ]
 })
 
-export class AtlasViewer implements OnDestroy, OnInit {
+export class AtlasViewer implements OnDestroy, OnInit, AfterViewInit {
 
   @ViewChild('floatingMouseContextualContainer', { read: ViewContainerRef }) floatingMouseContextualContainer: ViewContainerRef
   @ViewChild('helpComponent', {read: TemplateRef}) helpComponent : TemplateRef<any>
   @ViewChild('viewerConfigComponent', {read: TemplateRef}) viewerConfigComponent : TemplateRef<any>
   @ViewChild('signinModalComponent', {read: TemplateRef}) signinModalComponent : TemplateRef<any>
+  @ViewChild('cookieAgreementComponent', {read: TemplateRef}) cookieAgreementComponent : TemplateRef<any>
   @ViewChild(LayoutMainSide) layoutMainSide: LayoutMainSide
 
   @ViewChild(NehubaContainer) nehubaContainer: NehubaContainer
@@ -299,6 +300,22 @@ export class AtlasViewer implements OnDestroy, OnInit {
 
   }
 
+  ngAfterViewInit() {
+    // Show modal for Agree cookies
+    if (!localStorage.getItem('cookies') || localStorage.getItem('cookies') !== 'agreed') {
+      setTimeout(() => {
+        this.modalService.show(ModalUnit, {
+          initialState: {
+            title: 'Cookie Disclaimer',
+            template: this.cookieAgreementComponent,
+          },
+          // backdrop: 'static',
+          // keyboard: false
+        });  
+      });
+    }
+  }
+
   /**
    * For completeness sake. Root element should never be destroyed. 
    */
diff --git a/src/atlasViewer/atlasViewer.template.html b/src/atlasViewer/atlasViewer.template.html
index d868f7fda7d05d0eed17e9a9b2a9512c52e192f5..32d60aee3c831b52c5544a97a4ca13250d48c5ac 100644
--- a/src/atlasViewer/atlasViewer.template.html
+++ b/src/atlasViewer/atlasViewer.template.html
@@ -90,6 +90,10 @@
     
   </signin-modal>
 </ng-template>
+<ng-template #cookieAgreementComponent>
+  <cookie-agreement>
+  </cookie-agreement>
+</ng-template>
 
 <div class="d-flex flex-column" minReq *ngIf="!meetsRequirement">
   <div class="jumbotron bg-light text-center mb-0">
diff --git a/src/ui/ui.module.ts b/src/ui/ui.module.ts
index e1e80ad3269902b9521aa72f9940765670865d01..4c494358055930abc18b0f2ea387d4ba0d327aee 100644
--- a/src/ui/ui.module.ts
+++ b/src/ui/ui.module.ts
@@ -44,6 +44,7 @@ import { UtilModule } from "src/util/util.module";
 import { RegionHierarchy } from "./regionHierachy/regionHierarchy.component";
 import { FilterNameBySearch } from "./regionHierachy/filterNameBySearch.pipe";
 import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.component";
+import { CookieAgreement } from "./cookieAgreement/cookieAgreement.component";
 
 
 @NgModule({
@@ -77,8 +78,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com
     SigninBanner,
     SigninModal,
     RegionHierarchy,
-
     StatusCardComponent,
+    CookieAgreement,
 
     /* pipes */
     GroupDatasetByRegion,
@@ -119,7 +120,8 @@ import { StatusCardComponent } from "./nehubaContainer/statusCard/statusCard.com
     ConfigComponent,
     MenuIconsBar,
     SigninBanner,
-    SigninModal
+    SigninModal,
+    CookieAgreement,
   ]
 })
 
diff --git a/src/util/directives/FixedMouseContextualContainerDirective.directive.ts b/src/util/directives/FixedMouseContextualContainerDirective.directive.ts
index 6787cd2579df99d410c3702d5f5350dac672da5d..ad5c553f02073d7429dec341c91a64503746b097 100644
--- a/src/util/directives/FixedMouseContextualContainerDirective.directive.ts
+++ b/src/util/directives/FixedMouseContextualContainerDirective.directive.ts
@@ -1,5 +1,4 @@
 import { Directive, Input, HostBinding, HostListener, ElementRef, OnChanges, Output, EventEmitter } from "@angular/core";
-import { ConsoleReporter } from "jasmine";
 
 @Directive({
   selector: '[fixedMouseContextualContainerDirective]'
@@ -52,8 +51,6 @@ export class FixedMouseContextualContainerDirective implements OnChanges{
   @HostListener('document:click', ['$event'])
   documentClick(event: MouseEvent){
     if (event.which !== 3) {
-      console.log(event.target);
-      console.log(event.which);
       if (this.styleDisplay === 'none')
         return
       if (this.el.nativeElement.contains(event.target))