diff --git a/pom.xml b/pom.xml
index f39c70e07ae082eeb0f7d554fa6ccac7f4cf4af4..da861de53cb50437185d5923e8cf2d27b2c58e07 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,7 @@
 
 	<properties>
 		<adi.development.version>0.5.1</adi.development.version>
+		<jackson.version>2.7.4</jackson.version>
 		<slf4j.version>1.7.7</slf4j.version>
 		<spring.framework.version>4.1.6.RELEASE</spring.framework.version>
 		<spring.security.version>4.0.1.RELEASE</spring.security.version>
@@ -42,7 +43,12 @@
 			<dependency>
 				<groupId>com.fasterxml.jackson.core</groupId>
 				<artifactId>jackson-databind</artifactId>
-				<version>2.5.0</version>
+				<version>${jackson.version}</version>
+			</dependency>
+			<dependency>
+				<groupId>com.fasterxml.jackson.dataformat</groupId>
+				<artifactId>jackson-dataformat-yaml</artifactId>
+				<version>${jackson.version}</version>
 			</dependency>
 			<dependency>
 		    	<groupId>edu.wisc.doit.adi</groupId>
diff --git a/uw-spring-security-core/pom.xml b/uw-spring-security-core/pom.xml
index 5719152ef71da6371dcbebeba2009c02f022ad8b..335745fb5999595cfa400dcb964e3c4d44b386d6 100644
--- a/uw-spring-security-core/pom.xml
+++ b/uw-spring-security-core/pom.xml
@@ -14,6 +14,10 @@
 			<groupId>com.fasterxml.jackson.core</groupId>
 			<artifactId>jackson-databind</artifactId>
 		</dependency>
+		<dependency>
+			<groupId>com.fasterxml.jackson.dataformat</groupId>
+			<artifactId>jackson-dataformat-yaml</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>edu.wisc.services.uds</groupId>
     		<artifactId>uds-person-ws</artifactId>
diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsManagerImpl.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsManagerImpl.java
index 04b5ff00c50706c4e4325910c1978e885cec77ba..4927a2d4452fac5acdfb0e6829ea7a8a80cd7367 100644
--- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsManagerImpl.java
+++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUserDetailsManagerImpl.java
@@ -66,7 +66,6 @@ public class LocalUserDetailsManagerImpl implements UserDetailsManager {
     this.loaderEnabled = loaderEnabled;
     return this;
   }
-
   /**
    * Visible for testing.
    *
@@ -77,6 +76,15 @@ public class LocalUserDetailsManagerImpl implements UserDetailsManager {
     this.localUserResource = localUserResource;
     return this;
   }
+  /**
+   *
+   * @param localUserDetailsLoader
+   * @return a reference to this instance
+   */
+  LocalUserDetailsManagerImpl setLocalUserDetailsLoader(LocalUserDetailsLoader localUserDetailsLoader) {
+    this.localUserDetailsLoader = localUserDetailsLoader;
+    return this;
+  }
 
   /**
    * 
diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/YamlLocalUserDetailsLoader.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/YamlLocalUserDetailsLoader.java
new file mode 100644
index 0000000000000000000000000000000000000000..0973e280358f181a674f2a07a6d1cab340d718ba
--- /dev/null
+++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/YamlLocalUserDetailsLoader.java
@@ -0,0 +1,16 @@
+package edu.wisc.uwss.local;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+
+/**
+ * {@link LocalUserDetailsLoader} implementation that can load YAML.
+ *
+ * @author Nicholas Blair
+ */
+public class YamlLocalUserDetailsLoader extends LocalUserDetailsLoader.Default {
+  @Override
+  protected ObjectMapper getObjectMapper() {
+    return new ObjectMapper(new YAMLFactory());
+  }
+}
diff --git a/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.yaml b/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..677bf6f39099595edbee9b62b77945837042971f
--- /dev/null
+++ b/uw-spring-security-core/src/main/resources/edu/wisc/uwss/local/local-users.yaml
@@ -0,0 +1,40 @@
+---
+- pvi: "UW000A000"
+  username: "admin"
+  password: "admin"
+  fullName: "Amy Administrator"
+  emailAddress: "amy.administrator@demo.wisc.edu"
+  uddsMembership:
+  - "A535900"
+  authorities: []
+  firstName: "Amy"
+  lastName: "Administrator"
+- pvi: "UW000A001"
+  username: "jane"
+  password: "jane"
+  fullName: "Jane Doe"
+  emailAddress: "jane.doe@demo.wisc.edu"
+  uddsMembership:
+  - "A535005"
+  authorities: []
+  firstName: "Jane"
+  lastName: "Doe"
+- pvi: "UW000A002"
+  username: "john"
+  password: "john"
+  fullName: "John Doe"
+  emailAddress: "john.doe@demo.wisc.edu"
+  uddsMembership:
+  - "A535005"
+  authorities: []
+  firstName: "John"
+  lastName: "Doe"
+- pvi: "UW000A003"
+  username: "jim"
+  password: "jim"
+  fullName: "Jim Doe"
+  emailAddress: "jim.doe@demo.wisc.edu"
+  uddsMembership: []
+  authorities: []
+  firstName: "Jim"
+  lastName: "Doe"
\ No newline at end of file
diff --git a/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java b/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java
index ceaa23aa49e61688e8ec06120c44bb4ffaac7e2b..5982c0893b3a4030d50ee010cd466e70c7a47920 100644
--- a/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java
+++ b/uw-spring-security-core/src/test/java/edu/wisc/uwss/local/LocalUserDetailsManagerImplTest.java
@@ -3,6 +3,9 @@
  */
 package edu.wisc.uwss.local;
 
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
+
 import edu.wisc.uwss.HasModifiableSource;
 import edu.wisc.uwss.UWUserDetails;
 import edu.wisc.uwss.UWUserDetailsImpl;
@@ -15,6 +18,7 @@ import org.springframework.security.core.userdetails.UsernameNotFoundException;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.Collection;
+import java.util.List;
 import java.util.Properties;
 
 import static org.junit.Assert.*;
@@ -90,7 +94,28 @@ public class LocalUserDetailsManagerImplTest {
    * @throws IOException
    */
   @Test
-  public void init_compare_loader_vs_attributesmapper() throws IOException {
+  public void init_compare_default_loader_vs_attributesmapper() throws IOException {
+    Properties properties = new Properties();
+    properties.load(new ClassPathResource("edu/wisc/uwss/local/local-users.properties").getInputStream());
+
+    LocalUserDetailsManagerImpl withAttributesMapper = new LocalUserDetailsManagerImpl();
+    withAttributesMapper.setDemoUsers(properties);
+    withAttributesMapper.init();
+
+    LocalUserDetailsManagerImpl withLoader = new LocalUserDetailsManagerImpl()
+            .setLocalUserResource(new ClassPathResource("edu/wisc/uwss/local/local-users.json"))
+            .setLoaderEnabled(true);
+    withLoader.init();
+
+    assertEquals(withAttributesMapper.getUserCount(), withLoader.getUserCount());
+    assertEquals(withAttributesMapper.loadUserByUsername("admin"), withLoader.loadUserByUsername("admin"));
+    assertEquals(withAttributesMapper.loadUserByUsername("jane"), withLoader.loadUserByUsername("jane"));
+    assertEquals(withAttributesMapper.loadUserByUsername("john"), withLoader.loadUserByUsername("john"));
+    assertEquals(withAttributesMapper.loadUserByUsername("jim"), withLoader.loadUserByUsername("jim"));
+
+  }
+  @Test
+  public void init_compare_yaml_loader_vs_attributesmapper() throws IOException {
     Properties properties = new Properties();
     properties.load(new ClassPathResource("edu/wisc/uwss/local/local-users.properties").getInputStream());
 
@@ -98,9 +123,10 @@ public class LocalUserDetailsManagerImplTest {
     withAttributesMapper.setDemoUsers(properties);
     withAttributesMapper.init();
 
-    LocalUserDetailsManagerImpl withLoader = new LocalUserDetailsManagerImpl();
-    withLoader.setLocalUserResource(new ClassPathResource("edu/wisc/uwss/local/local-users.json"));
-    withLoader.setLoaderEnabled(true);
+    LocalUserDetailsManagerImpl withLoader = new LocalUserDetailsManagerImpl()
+            .setLocalUserDetailsLoader(new YamlLocalUserDetailsLoader())
+            .setLocalUserResource(new ClassPathResource("edu/wisc/uwss/local/local-users.json"))
+            .setLoaderEnabled(true);
     withLoader.init();
 
     assertEquals(withAttributesMapper.getUserCount(), withLoader.getUserCount());