diff --git a/pom.xml b/pom.xml
index 660a9a93b7ad60feb6b99f99381a6ba7406832d9..216db0fa79705bb98311e31e0d37c04c86cc0cf8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,10 +61,6 @@
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-resteasy-jackson</artifactId>
     </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-oidc</artifactId>
-    </dependency>
     <dependency>
       <groupId>io.quarkus</groupId>
       <artifactId>quarkus-smallrye-context-propagation</artifactId>
@@ -131,21 +127,6 @@
       <artifactId>rest-assured</artifactId>
       <scope>test</scope>
     </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-test-security</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-test-security-oidc</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>io.quarkus</groupId>
-      <artifactId>quarkus-test-oidc-server</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>io.rest-assured</groupId>
       <artifactId>json-schema-validator</artifactId>
diff --git a/src/main/java/org/eclipsefoundation/git/eca/resource/ReportsResource.java b/src/main/java/org/eclipsefoundation/git/eca/resource/ReportsResource.java
index 5959731f1a0788e9be295cf45e55bab0c1588b5e..284dce189f87b81be5d65889cbd950c0d515bfe3 100644
--- a/src/main/java/org/eclipsefoundation/git/eca/resource/ReportsResource.java
+++ b/src/main/java/org/eclipsefoundation/git/eca/resource/ReportsResource.java
@@ -12,7 +12,6 @@
 package org.eclipsefoundation.git.eca.resource;
 
 import java.time.LocalDate;
-import java.util.List;
 
 import javax.inject.Inject;
 import javax.ws.rs.BadRequestException;
@@ -29,30 +28,24 @@ import org.eclipsefoundation.git.eca.service.ReportsService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import io.quarkus.security.Authenticated;
-import io.quarkus.security.identity.SecurityIdentity;
-
-@Authenticated
 @Path("/reports")
 public class ReportsResource {
     private static final Logger LOGGER = LoggerFactory.getLogger(ReportsResource.class);
 
-    @ConfigProperty(name = "eclipse.reports.allowed-users")
-    List<String> allowedUsers;
+    @ConfigProperty(name = "eclipse.reports.access-key")
+    String key;
 
     @Inject
     RequestWrapper wrap;
     @Inject
     ReportsService reportsService;
-    @Inject
-    SecurityIdentity ident;
 
     @GET
     @Path("/gitlab/private-projects")
-    public Response getPrivateProjectEvents(@QueryParam("status") String status, @QueryParam("since") LocalDate since,
-            @QueryParam("until") LocalDate until) {
-        if (!allowedUsers.contains(ident.getPrincipal().getName())) {
-            LOGGER.debug("User '{}' does not have access to the reports, access blocked", ident.getPrincipal().getName());
+    public Response getPrivateProjectEvents(@QueryParam("key") String passedKey, @QueryParam("status") String status,
+            @QueryParam("since") LocalDate since, @QueryParam("until") LocalDate until) {
+        if (!key.equals(passedKey)) {
+            LOGGER.debug("Bad key passed for access, access blocked");
             return Response.status(401).build();
         }
         if (StringUtils.isNotBlank(status) && !isValidStatus(status)) {
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index c5c46d3a5b52f2a6f30ddadf76cf27788576d448..8fc5aa32a0f65b10eef6751f35937b34c458dfdc 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -25,11 +25,7 @@ quarkus.hibernate-orm.datasource=<default>
 
 ## OAUTH CONFIG
 quarkus.oauth2.enabled=false
-quarkus.oidc.application-type=web-app
-quarkus.oidc.token.refresh-expired=true
-quarkus.oidc.authentication.session-age-extension=60m
-quarkus.oidc.discovery-enabled=true
-quarkus.oidc.roles.source=accesstoken
+quarkus.oidc.enabled=false
 oauth2.scope=eclipsefdn_view_all_profiles
 oauth2.client-id=placeholder
 oauth2.client-secret=placeholder
diff --git a/src/test/java/org/eclipsefoundation/git/eca/resource/ReportsResourceTest.java b/src/test/java/org/eclipsefoundation/git/eca/resource/ReportsResourceTest.java
index cd3983dcec825b1f7f6d6d8d485b3a2cdb73bf0b..e8be810faee032f2bc440e4cb0097ea8a0890e90 100644
--- a/src/test/java/org/eclipsefoundation/git/eca/resource/ReportsResourceTest.java
+++ b/src/test/java/org/eclipsefoundation/git/eca/resource/ReportsResourceTest.java
@@ -11,144 +11,127 @@
 **********************************************************************/
 package org.eclipsefoundation.git.eca.resource;
 
+import java.util.Optional;
+
 import org.eclipsefoundation.git.eca.namespace.GitEcaParameterNames;
 import org.eclipsefoundation.git.eca.test.namespaces.SchemaNamespaceHelper;
-import org.eclipsefoundation.testing.helpers.AuthHelper;
 import org.eclipsefoundation.testing.helpers.TestCaseHelper;
 import org.eclipsefoundation.testing.templates.RestAssuredTemplates;
 import org.eclipsefoundation.testing.templates.RestAssuredTemplates.EndpointTestCase;
 import org.junit.jupiter.api.Test;
 
 import io.quarkus.test.junit.QuarkusTest;
-import io.quarkus.test.security.TestSecurity;
-import io.quarkus.test.security.oidc.Claim;
-import io.quarkus.test.security.oidc.ConfigMetadata;
-import io.quarkus.test.security.oidc.OidcSecurity;
 import io.restassured.http.ContentType;
 
 @QuarkusTest
 class ReportsResourceTest {
     public static final String REPORTS_BASE_URL = "/reports";
-    public static final String REPORTS_PROJECTS_URL = REPORTS_BASE_URL + "/gitlab/private-projects";
-    public static final String REPORTS_PROJECTS_STATUS_URL = REPORTS_PROJECTS_URL + "?status={status}";
-    public static final String REPORTS_PROJECTS_UNTIL_URL = REPORTS_PROJECTS_URL + "?until={date}";
-    public static final String REPORTS_PROJECTS_SINCE_URL = REPORTS_PROJECTS_URL + "?since={date}";
-    public static final String REPORTS_PROJECTS_RANGE_URL = REPORTS_PROJECTS_URL + "?since={start}&until={end}";
+    public static final String REPORTS_PROJECTS_URL = REPORTS_BASE_URL + "/gitlab/private-projects?key={key}";
+    public static final String REPORTS_PROJECTS_STATUS_URL = REPORTS_PROJECTS_URL + "&status={status}";
+    public static final String REPORTS_PROJECTS_UNTIL_URL = REPORTS_PROJECTS_URL + "&until={date}";
+    public static final String REPORTS_PROJECTS_SINCE_URL = REPORTS_PROJECTS_URL + "&since={date}";
+    public static final String REPORTS_PROJECTS_RANGE_URL = REPORTS_PROJECTS_URL + "&since={start}&until={end}";
+    public static final String VALID_TEST_ACCESS_KEY = "samplekey";
 
     public static final EndpointTestCase GET_REPORT_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_URL, new String[] {}, SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
+            .buildSuccessCase(REPORTS_PROJECTS_URL, new String[] { VALID_TEST_ACCESS_KEY },
+                    SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_ACTIVE_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_STATUS_URL, new String[] { GitEcaParameterNames.STATUS_ACTIVE.getName() },
+            .buildSuccessCase(REPORTS_PROJECTS_STATUS_URL,
+                    new String[] { VALID_TEST_ACCESS_KEY, GitEcaParameterNames.STATUS_ACTIVE.getName() },
                     SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_DELETED_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_STATUS_URL, new String[] { GitEcaParameterNames.STATUS_DELETED.getName() },
+            .buildSuccessCase(REPORTS_PROJECTS_STATUS_URL,
+                    new String[] { VALID_TEST_ACCESS_KEY, GitEcaParameterNames.STATUS_DELETED.getName() },
                     SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_SINCE_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_SINCE_URL, new String[] { "2022-11-11" },
+            .buildSuccessCase(REPORTS_PROJECTS_SINCE_URL, new String[] { VALID_TEST_ACCESS_KEY, "2022-11-11" },
                     SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_UNTIL_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_UNTIL_URL, new String[] { "2022-11-15" },
+            .buildSuccessCase(REPORTS_PROJECTS_UNTIL_URL, new String[] { VALID_TEST_ACCESS_KEY, "2022-11-15" },
                     SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_RANGE_SUCCESS_CASE = TestCaseHelper
-            .buildSuccessCase(REPORTS_PROJECTS_RANGE_URL, new String[] { "2022-11-15", "2022-11-15" },
+            .buildSuccessCase(REPORTS_PROJECTS_RANGE_URL, new String[] { VALID_TEST_ACCESS_KEY, "2022-11-15", "2022-11-15" },
                     SchemaNamespaceHelper.PRIVATE_PROJECT_EVENTS_SCHEMA_PATH);
 
+    public static final EndpointTestCase GET_REPORT_BAD_ACCESS_KEY = EndpointTestCase
+            .builder()
+            .setPath(REPORTS_PROJECTS_URL)
+            .setStatusCode(401)
+            .setParams(Optional.of(new String[] { "incorrect-key" }))
+            .build();
+
     public static final EndpointTestCase GET_REPORT_BAD_STATUS_CASE = TestCaseHelper
-            .buildBadRequestCase(REPORTS_PROJECTS_STATUS_URL, new String[] { "nope" }, SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
+            .buildBadRequestCase(REPORTS_PROJECTS_STATUS_URL, new String[] { VALID_TEST_ACCESS_KEY, "nope" },
+                    SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_BAD_UNTIL_CASE = TestCaseHelper
-            .buildBadRequestCase(REPORTS_PROJECTS_UNTIL_URL, new String[] { "nope" }, SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
+            .buildBadRequestCase(REPORTS_PROJECTS_UNTIL_URL, new String[] { VALID_TEST_ACCESS_KEY, "nope" },
+                    SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
 
     public static final EndpointTestCase GET_REPORT_BAD_SINCE_CASE = TestCaseHelper
-            .buildBadRequestCase(REPORTS_PROJECTS_SINCE_URL, new String[] { "nope" }, SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
-
-    public static final EndpointTestCase GET_REPORT_UNAUTHORIZED_CASE = EndpointTestCase
-            .builder()
-            .setPath(REPORTS_PROJECTS_URL)
-            .setStatusCode(401)
-            .build();
+            .buildBadRequestCase(REPORTS_PROJECTS_SINCE_URL, new String[] { VALID_TEST_ACCESS_KEY, "nope" },
+                    SchemaNamespaceHelper.ERROR_SCHEMA_PATH);
 
     /*
      * GET /reports/gitlab/private-projects
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
-    @OidcSecurity(claims = { @Claim(key = AuthHelper.EMAIL_CLAIM_KEY, value = AuthHelper.EMAIL_CLAIM_VALUE) }, userinfo = {}, config = {
-            @ConfigMetadata(key = AuthHelper.ISSUER_FIELD_KEY, value = AuthHelper.ISSUER_FIELD_VALUE) })
     void getPrivProjReport_success() {
         RestAssuredTemplates.testGet(GET_REPORT_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = "jwick", roles = AuthHelper.DEFAULT_ROLE)
-    void getPrivProjReport_success_multipleValidUsers() {
-        RestAssuredTemplates.testGet(GET_REPORT_SUCCESS_CASE);
-    }
-
-    @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReport_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReport_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_SUCCESS_CASE);
     }
 
     @Test
-    void getPrivProjReport_failure_unauthenticated() {
-        // Quarkus will apply 401 for failed authentication
-        RestAssuredTemplates.testGet(GET_REPORT_UNAUTHORIZED_CASE);
-    }
-
-    @Test
-    @TestSecurity(user = "badActorz", roles = AuthHelper.DEFAULT_ROLE)
-    void getPrivProjReport_failure_unauthorizedUser() {
-        RestAssuredTemplates.testGet(GET_REPORT_UNAUTHORIZED_CASE);
+    void getPrivProjReport_failure_invalidRequestFormat() {
+        RestAssuredTemplates
+                .testGet(TestCaseHelper
+                        .buildInvalidFormatCase(REPORTS_PROJECTS_URL, new String[] { VALID_TEST_ACCESS_KEY }, ContentType.TEXT));
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
-    void getPrivProjReport_failure_invalidRequestFormat() {
-        RestAssuredTemplates.testGet(TestCaseHelper.buildInvalidFormatCase(REPORTS_PROJECTS_URL, new String[] {}, ContentType.TEXT));
+    void getPrivProjReport_failure_badAccessKey() {
+        RestAssuredTemplates.testGet(GET_REPORT_BAD_ACCESS_KEY);
     }
 
     /*
      * GET /reports/gitlab/private-projects?status=active
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportActive_success() {
         RestAssuredTemplates.testGet(GET_REPORT_ACTIVE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportActive_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_ACTIVE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportActive_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_ACTIVE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportStatus_failure_invalidStatus() {
         RestAssuredTemplates.testGet(GET_REPORT_BAD_STATUS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportStatus_failure_invalidStatus_validate_schema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_BAD_STATUS_CASE);
     }
@@ -157,19 +140,16 @@ class ReportsResourceTest {
      * GET /reports/gitlab/private-projects?status=deleted
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportDeleted_success() {
         RestAssuredTemplates.testGet(GET_REPORT_DELETED_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportDeleted_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_DELETED_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportDeleted_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_DELETED_SUCCESS_CASE);
     }
@@ -178,31 +158,26 @@ class ReportsResourceTest {
      * GET /reports/webhooks/gitlab/system?since={date}
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSince_success() {
         RestAssuredTemplates.testGet(GET_REPORT_SINCE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSince_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_SINCE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSince_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_SINCE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSince_failure_invalidStatus() {
         RestAssuredTemplates.testGet(GET_REPORT_BAD_SINCE_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSince_failure_invalidStatus_validate_schema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_BAD_SINCE_CASE);
     }
@@ -211,31 +186,26 @@ class ReportsResourceTest {
      * GET /reports/gitlab/private-projects?until={date}
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportUntil_success() {
         RestAssuredTemplates.testGet(GET_REPORT_UNTIL_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportUntil_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_UNTIL_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportUntil_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_UNTIL_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportUntil_failure_invalidStatus() {
         RestAssuredTemplates.testGet(GET_REPORT_BAD_UNTIL_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportSUntil_failure_invalidStatus_validate_schema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_BAD_UNTIL_CASE);
     }
@@ -244,19 +214,16 @@ class ReportsResourceTest {
      * GET /reports/webhooks/gitlab/system?since={date}&until={date}
      */
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportRange_success() {
         RestAssuredTemplates.testGet(GET_REPORT_RANGE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportRange_success_validateSchema() {
         RestAssuredTemplates.testGet_validateSchema(GET_REPORT_RANGE_SUCCESS_CASE);
     }
 
     @Test
-    @TestSecurity(user = AuthHelper.TEST_USER_NAME, roles = AuthHelper.DEFAULT_ROLE)
     void getPrivProjReportRange_success_validateResponseFormat() {
         RestAssuredTemplates.testGet_validateResponseFormat(GET_REPORT_RANGE_SUCCESS_CASE);
     }
diff --git a/src/test/resources/application.properties b/src/test/resources/application.properties
index 71bfbed292481d5b9290aa9ad184135c80c99ba9..78bcff0f9e879446d9ab2f2e3e2963e40106041b 100644
--- a/src/test/resources/application.properties
+++ b/src/test/resources/application.properties
@@ -4,7 +4,7 @@ org.eclipsefoundation.git.eca.api.BotsAPI/mp-rest/url=https://api.eclipse.org
 
 eclipse.noreply.email-patterns=@users.noreply.github.com\$
 eclipse.mail.allowlist=noreply@github.com
-eclipse.reports.allowed-users=opearson,jwick
+eclipse.reports.access-key=samplekey
 eclipse.gitlab.access-token=token_val
 
 ## DATASOURCE CONFIG
@@ -25,6 +25,3 @@ quarkus.http.port=8080
 quarkus.oidc.enabled=false
 quarkus.keycloak.devservices.enabled=false
 quarkus.oidc-client.enabled=false
-quarkus.oidc.client-id=quarkus-service-app
-quarkus.oidc.application-type=service
-