diff --git a/alfa-client/apps/info/project.json b/alfa-client/apps/info/project.json
index 6a94515647a2d9bac320d3c677a7a2393a790924..38c9788b9fbcaf060d509ed7ade48dcad8503c99 100644
--- a/alfa-client/apps/info/project.json
+++ b/alfa-client/apps/info/project.json
@@ -8,25 +8,16 @@
   "targets": {
     "build": {
       "executor": "@angular-devkit/build-angular:browser-esbuild",
-      "outputs": [
-        "{options.outputPath}"
-      ],
+      "outputs": ["{options.outputPath}"],
       "options": {
         "outputPath": "dist/apps/info",
         "index": "apps/info/src/index.html",
         "main": "apps/info/src/main.ts",
-        "polyfills": [
-          "zone.js"
-        ],
+        "polyfills": ["zone.js"],
         "tsConfig": "apps/info/tsconfig.app.json",
         "inlineStyleLanguage": "scss",
-        "assets": [
-          "apps/info/src/favicon.svg",
-          "apps/info/src/assets"
-        ],
-        "styles": [
-          "apps/info/src/styles.scss"
-        ],
+        "assets": ["apps/info/src/favicon.svg", "apps/info/src/assets"],
+        "styles": ["apps/info/src/styles.scss"],
         "scripts": [],
         "stylePreprocessorOptions": {
           "includePaths": [
@@ -40,6 +31,10 @@
       "configurations": {
         "production-by": {
           "fileReplacements": [
+            {
+              "replace": "apps/info/src/environments/environment.ts",
+              "with": "apps/info/src/environments/environment.prod.by.ts"
+            },
             {
               "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts",
               "with": "apps/info/src/pages/accessibility/accessibility-page-by.component.ts"
@@ -61,9 +56,17 @@
         },
         "production-sh": {
           "fileReplacements": [
+            {
+              "replace": "apps/info/src/environments/environment.ts",
+              "with": "apps/info/src/environments/environment.prod.sh.ts"
+            },
             {
               "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts",
               "with": "apps/info/src/pages/accessibility/accessibility-page-sh.component.ts"
+            },
+            {
+              "replace": "apps/info/src/pages/impressum/impressum-page.component.ts",
+              "with": "apps/info/src/pages/impressum/impressum-page-sh.component.ts"
             }
           ],
           "budgets": [
@@ -85,6 +88,10 @@
             {
               "replace": "apps/info/src/pages/accessibility/accessibility-page.component.ts",
               "with": "apps/info/src/pages/accessibility/accessibility-page-sh.component.ts"
+            },
+            {
+              "replace": "apps/info/src/pages/impressum/impressum-page.component.ts",
+              "with": "apps/info/src/pages/impressum/impressum-page-sh.component.ts"
             }
           ],
           "buildOptimizer": false,
@@ -100,8 +107,11 @@
     "serve": {
       "executor": "@angular-devkit/build-angular:dev-server",
       "configurations": {
-        "production": {
-          "buildTarget": "info:build:production"
+        "production-by": {
+          "buildTarget": "info:build:production-by"
+        },
+        "production-sh": {
+          "buildTarget": "info:build:production-sh"
         },
         "development": {
           "buildTarget": "info:build:development"
@@ -120,9 +130,7 @@
     },
     "test": {
       "executor": "@nx/jest:jest",
-      "outputs": [
-        "{workspaceRoot}/coverage/{projectRoot}"
-      ],
+      "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
       "options": {
         "jestConfig": "apps/info/jest.config.ts"
       }
@@ -137,22 +145,16 @@
     },
     "container": {
       "executor": "@nx-tools/nx-container:build",
-      "dependsOn": [
-        "build"
-      ],
+      "dependsOn": ["build"],
       "options": {
         "engine": "docker",
         "push": true,
         "metadata": {
-          "images": [
-            "docker.ozg-sh.de/info"
-          ],
+          "images": ["docker.ozg-sh.de/info"],
           "load": true,
-          "tags": [
-            "snapshot-latest"
-          ]
+          "tags": ["snapshot-latest"]
         }
       }
     }
   }
-}
\ No newline at end of file
+}
diff --git a/alfa-client/apps/info/src/app/app.component.html b/alfa-client/apps/info/src/app/app.component.html
index 13d01813a0e5b8b42f74d308d648b60e2377dffc..b30e793d253d6e07873b825df8c247f8b69e11c6 100644
--- a/alfa-client/apps/info/src/app/app.component.html
+++ b/alfa-client/apps/info/src/app/app.component.html
@@ -11,4 +11,18 @@
   <main class="flex-auto bg-background-50">
     <router-outlet></router-outlet>
   </main>
+  @if (!isBayern) {
+    <footer class="ozg-prose flex justify-center gap-4" data-test-id="navigation-footer">
+      <nav>
+        <ul class="flex flex-wrap justify-center gap-9">
+          <li>
+            <a routerLink="/barrierefreiheit">Barrierefreiheit</a>
+          </li>
+          <li>
+            <a routerLink="/impressum">Impressum</a>
+          </li>
+        </ul>
+      </nav>
+    </footer>
+  }
 </div>
diff --git a/alfa-client/apps/info/src/app/app.component.spec.ts b/alfa-client/apps/info/src/app/app.component.spec.ts
index 5928900f952dcd5521fdafae4f2b042fb6be8b95..a9aef32a46554df9f598a3cbf086e713049d76d7 100644
--- a/alfa-client/apps/info/src/app/app.component.spec.ts
+++ b/alfa-client/apps/info/src/app/app.component.spec.ts
@@ -1,11 +1,15 @@
+import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
 import { provideRouter } from '@angular/router';
+import { getDataTestIdOf } from 'libs/tech-shared/test/data-test';
 import { AppComponent } from './app.component';
 
 describe('AppComponent', () => {
   let component: AppComponent;
   let fixture: ComponentFixture<AppComponent>;
 
+  const navigationLocator: string = getDataTestIdOf('navigation-footer');
+
   beforeEach(async () => {
     await TestBed.configureTestingModule({
       imports: [AppComponent],
@@ -20,4 +24,34 @@ describe('AppComponent', () => {
   it('should create', () => {
     expect(component).toBeTruthy();
   });
+
+  describe('component', () => {
+    describe('ngOnInit', () => {
+      it('should set isBayern', () => {
+        component.ngOnInit();
+
+        expect(component.isBayern).toBe(false);
+      });
+    });
+  });
+
+  describe('template', () => {
+    describe('bundesland bayern', () => {
+      it('should NOT show navigation footer', () => {
+        component.isBayern = true;
+
+        fixture.detectChanges();
+
+        notExistsAsHtmlElement(fixture, navigationLocator);
+      });
+
+      it('should show navigation footer', () => {
+        component.isBayern = false;
+
+        fixture.detectChanges();
+
+        existsAsHtmlElement(fixture, navigationLocator);
+      });
+    });
+  });
 });
diff --git a/alfa-client/apps/info/src/app/app.component.ts b/alfa-client/apps/info/src/app/app.component.ts
index e81b19bbe0ad9e0ec1594bf7aa6f8c77b3801117..65ebf90d0dde07e83be8a3fe3981eb46e0c69987 100644
--- a/alfa-client/apps/info/src/app/app.component.ts
+++ b/alfa-client/apps/info/src/app/app.component.ts
@@ -1,6 +1,7 @@
-import { Component } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
 import { RouterModule } from '@angular/router';
 import { OzgLogoIconComponent } from '@ods/system';
+import { environment } from '../environments/environment';
 
 @Component({
   standalone: true,
@@ -8,4 +9,10 @@ import { OzgLogoIconComponent } from '@ods/system';
   selector: 'app-root',
   templateUrl: './app.component.html',
 })
-export class AppComponent {}
+export class AppComponent implements OnInit {
+  public isBayern: boolean;
+
+  ngOnInit() {
+    this.isBayern = environment.bundesland === 'by';
+  }
+}
diff --git a/alfa-client/apps/info/src/app/app.routes.ts b/alfa-client/apps/info/src/app/app.routes.ts
index 2260ea6873811a57c40ea24dada72e8ef52a357c..d6ae093054d1fc56814c24e4b16c24b0e1705734 100644
--- a/alfa-client/apps/info/src/app/app.routes.ts
+++ b/alfa-client/apps/info/src/app/app.routes.ts
@@ -1,5 +1,6 @@
 import { Route } from '@angular/router';
 import { AccessibilityPageComponent } from '../pages/accessibility/accessibility-page.component';
+import { ImpressumPageComponent } from '../pages/impressum/impressum-page.component';
 
 export const appRoutes: Route[] = [
   {
@@ -12,4 +13,10 @@ export const appRoutes: Route[] = [
     component: AccessibilityPageComponent,
     title: 'Barrierefreiheit',
   },
+  {
+    path: 'impressum',
+    component: ImpressumPageComponent,
+    title: 'Impressum',
+  },
+  { path: '**', redirectTo: 'barrierefreiheit' },
 ];
diff --git a/alfa-client/apps/info/src/environments/environment.prod.by.ts b/alfa-client/apps/info/src/environments/environment.prod.by.ts
new file mode 100644
index 0000000000000000000000000000000000000000..5197eb27edcaa967af00f66b3b071dce2e042ca8
--- /dev/null
+++ b/alfa-client/apps/info/src/environments/environment.prod.by.ts
@@ -0,0 +1,4 @@
+export const environment = {
+  production: true,
+  bundesland: 'by',
+};
diff --git a/alfa-client/apps/info/src/environments/environment.prod.sh.ts b/alfa-client/apps/info/src/environments/environment.prod.sh.ts
new file mode 100644
index 0000000000000000000000000000000000000000..211c1eabf6a11fa3bfa93e5cc2c5d5fbaaf56ea1
--- /dev/null
+++ b/alfa-client/apps/info/src/environments/environment.prod.sh.ts
@@ -0,0 +1,4 @@
+export const environment = {
+  production: true,
+  bundesland: 'sh',
+};
diff --git a/alfa-client/apps/info/src/environments/environment.ts b/alfa-client/apps/info/src/environments/environment.ts
new file mode 100644
index 0000000000000000000000000000000000000000..879a4bf8ab755c728fb22c3d6655cdaa828180b2
--- /dev/null
+++ b/alfa-client/apps/info/src/environments/environment.ts
@@ -0,0 +1,4 @@
+export const environment = {
+  production: false,
+  bundesland: 'sh',
+};
diff --git a/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.spec.ts b/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..04481d7d8817dd7bf46eca7979be1d782e802891
--- /dev/null
+++ b/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.spec.ts
@@ -0,0 +1,21 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ImpressumPageComponent } from './impressum-page-sh.component';
+
+describe('ImpressumPageComponent', () => {
+  let component: ImpressumPageComponent;
+  let fixture: ComponentFixture<ImpressumPageComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ImpressumPageComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(ImpressumPageComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.ts b/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..443387d3a3af5dba195f4eb173d3a965f8803605
--- /dev/null
+++ b/alfa-client/apps/info/src/pages/impressum/impressum-page-sh.component.ts
@@ -0,0 +1,32 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'app-impressum-page',
+  standalone: true,
+  imports: [CommonModule],
+  template: `<div class="ozg-prose prose prose-h1:text-4xl prose-h2:text-2xl">
+    <h1>Impressum</h1>
+    <p>
+      Der Ministerpräsident - Staatskanzlei <br />
+      StK 3 – Digitalisierung und Zentrales IT-Management <br />
+      Düsternbrooker Weg 104 <br />
+      24105 Kiel
+    </p>
+    <p>
+      E-Mail: <br />
+      <a href="mailto:digitalisierung@stk.landsh.de">digitalisierung&#64;stk.landsh.de</a>
+    </p>
+    <p>
+      Verantwortlich <br />
+      Dr. Moritz Karg <br />
+      StK 30 – Grundsatzangelegenheiten der Digitalisierung und des EGovernments
+    </p>
+
+    <p>
+      E-Mail: <br />
+      <a href="mailto:digitalisierung@stk.landsh.de">digitalisierung&#64;stk.landsh.de</a>
+    </p>
+  </div>`,
+})
+export class ImpressumPageComponent {}
diff --git a/alfa-client/apps/info/src/pages/impressum/impressum-page.component.spec.ts b/alfa-client/apps/info/src/pages/impressum/impressum-page.component.spec.ts
new file mode 100644
index 0000000000000000000000000000000000000000..da6855d06a29e6365e2e83e39aff6beffef02a3c
--- /dev/null
+++ b/alfa-client/apps/info/src/pages/impressum/impressum-page.component.spec.ts
@@ -0,0 +1,21 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+import { ImpressumPageComponent } from './impressum-page.component';
+
+describe('ImpressumPageComponent', () => {
+  let component: ImpressumPageComponent;
+  let fixture: ComponentFixture<ImpressumPageComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ImpressumPageComponent],
+    }).compileComponents();
+
+    fixture = TestBed.createComponent(ImpressumPageComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/apps/info/src/pages/impressum/impressum-page.component.ts b/alfa-client/apps/info/src/pages/impressum/impressum-page.component.ts
new file mode 100644
index 0000000000000000000000000000000000000000..8cc9ac2f4c4c6ae084090b7b60fdcf84aee60d77
--- /dev/null
+++ b/alfa-client/apps/info/src/pages/impressum/impressum-page.component.ts
@@ -0,0 +1,11 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+
+@Component({
+  selector: 'app-impressum-page',
+  standalone: true,
+  imports: [CommonModule],
+  // template will be set during build time - see fileReplacements in apps/info/project.json
+  template: ``,
+})
+export class ImpressumPageComponent {}