diff --git a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties
index 13f938dc27..baad5692e9 100644
--- a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties
+++ b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/alfresco-global.properties
@@ -93,7 +93,7 @@ rm.record.contributors.group.name=RECORD_CONTRIBUTORS
# Content cleansing
#
rm.content.cleansing.enabled=false
-rm.content.cleaner=contentCleanser.522022M
+rm.content.cleaner=contentCleanser.SevenPass
# Indicates whether mandatory properties are checked before completing a record
#
diff --git a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/content-context.xml b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/content-context.xml
index d8e94ea0ba..b390f04432 100644
--- a/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/content-context.xml
+++ b/amps/ags/rm-community/rm-community-repo/config/alfresco/module/org_alfresco_module_rm/content-context.xml
@@ -33,5 +33,8 @@
+
+
+
diff --git a/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPass.java b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPass.java
new file mode 100644
index 0000000000..24ad41286e
--- /dev/null
+++ b/amps/ags/rm-community/rm-community-repo/source/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPass.java
@@ -0,0 +1,64 @@
+/*
+ * #%L
+ * Alfresco Records Management Module
+ * %%
+ * Copyright (C) 2005 - 2025 Alfresco Software Limited
+ * %%
+ * This file is part of the Alfresco software.
+ * -
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
+ * provided under the following open source license terms:
+ * -
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * -
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * -
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ * #L%
+ */
+
+package org.alfresco.module.org_alfresco_module_rm.content.cleanser;
+
+import java.io.File;
+
+import org.alfresco.service.cmr.repository.ContentIOException;
+
+/**
+ * DoD 5220-22M Seven Pass data cleansing implementation.
+ *
+ */
+public class ContentCleanserSevenPass extends ContentCleanser
+{
+ /**
+ * @see org.alfresco.module.org_alfresco_module_rm.content.cleanser.ContentCleanser#cleanse(java.io.File)
+ */
+ @Override
+ public void cleanse(File file)
+ {
+ // Double check
+ if (!file.exists() || !file.canWrite())
+ {
+ throw new ContentIOException("Unable to write to file: " + file);
+ }
+
+ // Overwite file
+ overwrite(file, overwriteOnes);
+ overwrite(file, overwriteZeros);
+ overwrite(file, overwriteRandom);
+ overwrite(file, overwriteZeros);
+ overwrite(file, overwriteZeros);
+ overwrite(file, overwriteOnes);
+ overwrite(file, overwriteRandom);
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPassUnitTest.java b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPassUnitTest.java
new file mode 100644
index 0000000000..46a0c650c4
--- /dev/null
+++ b/amps/ags/rm-community/rm-community-repo/unit-test/java/org/alfresco/module/org_alfresco_module_rm/content/cleanser/ContentCleanserSevenPassUnitTest.java
@@ -0,0 +1,94 @@
+/*
+ * #%L
+ * Alfresco Records Management Module
+ * %%
+ * Copyright (C) 2005 - 2025 Alfresco Software Limited
+ * %%
+ * This file is part of the Alfresco software.
+ * -
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
+ * provided under the following open source license terms:
+ * -
+ * Alfresco is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * -
+ * Alfresco is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ * -
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with Alfresco. If not, see .
+ * #L%
+ */
+
+package org.alfresco.module.org_alfresco_module_rm.content.cleanser;
+
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import java.io.File;
+
+import org.alfresco.module.org_alfresco_module_rm.test.util.BaseUnitTest;
+import org.alfresco.service.cmr.repository.ContentIOException;
+import org.junit.Test;
+import org.mockito.InjectMocks;
+import org.mockito.Mock;
+import org.mockito.Spy;
+
+/**
+ * Eager content store cleaner unit test.
+ *
+ */
+public class ContentCleanserSevenPassUnitTest extends BaseUnitTest {
+ @InjectMocks
+ @Spy
+ private ContentCleanserSevenPass contentCleanserSevenPass = new ContentCleanserSevenPass() {
+ /** dummy implementations */
+ protected void overwrite(File file, OverwriteOperation overwriteOperation) {
+ }
+ };
+
+ @Mock
+ private File mockedFile;
+
+ /**
+ * Given that a file exists When I cleanse it Then the content is overwritten
+ */
+ @Test
+ public void cleanseFile() {
+ when(mockedFile.exists()).thenReturn(true);
+ when(mockedFile.canWrite()).thenReturn(true);
+ contentCleanserSevenPass.cleanse(mockedFile);
+ verify(contentCleanserSevenPass, times(2)).overwrite(mockedFile, contentCleanserSevenPass.overwriteOnes);
+ verify(contentCleanserSevenPass, times(3)).overwrite(mockedFile, contentCleanserSevenPass.overwriteZeros);
+ verify(contentCleanserSevenPass, times(2)).overwrite(mockedFile, contentCleanserSevenPass.overwriteRandom);
+
+ }
+
+ /**
+ * Given that the file does not exist When I cleanse it Then an exception is
+ * thrown
+ */
+ @Test(expected = ContentIOException.class)
+ public void fileDoesNotExist() {
+ when(mockedFile.exists()).thenReturn(false);
+ when(mockedFile.canWrite()).thenReturn(true);
+ contentCleanserSevenPass.cleanse(mockedFile);
+ }
+
+ /**
+ * Given that I can not write to the file When I cleanse it Then an exception is
+ * thrown
+ */
+ @Test(expected = ContentIOException.class)
+ public void cantWriteToFile() {
+ when(mockedFile.exists()).thenReturn(true);
+ when(mockedFile.canWrite()).thenReturn(false);
+ contentCleanserSevenPass.cleanse(mockedFile);
+ }
+}
\ No newline at end of file