Fuse recently developed and launched a brand new secure "Find me a Family" web portal for Northamptonshire County Council. The purpose of the new site is to improve the process of bringing together prospective adopter and foster parents with children needing families across the Northamptonshire region.
The website content is understandably locked down with access only given to prospective parents after a thorough vetting process. Given the sensitive nature of the content of the site this blog post will only provide an overview of the technical aspects of the system.
The main objectives for the 'Find me a Family' portal are to increase the number of successful placements of children with families and also speed up the placement process by providing parents with easier access to waiting children.
In simple terms the web portal provides the following features:
- A search process for finding children currently on the system
- A directory style listing of children
- Profile pages for the children providing relevant information and in most cases photos and a streamed profile video of the child (or sibling group)
- Functionality to express interest in a child and thus kick off the process of hopefully finding that child a family and a home
- Additional content pages providing information to parents about the service and any upcoming events
- A set of membership related features, including Login, Change Password, Reset Password and User Creation pages
The main consideration when planning the website was given to the security aspect. The content in the site – children and parent information – is highly sensitive and every reasonable effort needed to be made to ensure this information was locked down appropriately.
Ease of Use
The website is a channel-shift opportunity for the council and thus also needed to provide a modern, user-friendly interface for those prospective parents who have been granted access. The website should also be mobile-friendly (responsive) and work well across all devices.
The solution needed to include administration functionality for managing all aspects of the system, including children, parents, administrators, page content, images, videos, reports and audit logs for the site. This meant providing a CMS to deliver some aspects of those requirements, and then extending that CMS to provide the additional requirements.
Northamptonshire County Council are in the process of updating their web presence and have a new platform on which new websites can be built and hosted. This platform was built by Fuse Collaboration in partnership with NCC and is currently hosted within a Microsoft Azure "Infrastructure as a Service" virtual machine environment. It was agreed that the portal could also be hosted within this environment but would need to be suitably segregated from other sites and data in order to meet the stringent security requirements.
As detailed above the solution was built on the SharePoint 2013 platform leveraging the built-in publishing features to provide the standard suite of CMS capabilities. We also leveraged our enhanced Web Platform for SharePoint which we built for NCC providing additional functionality specific to their requirements.
We then implemented custom web parts to provide the required custom functionality. We also deployed a custom SQL Server database for the purpose of storing certain aspects of the system including user account information and audit logs.
- The SharePoint site leverages the standard ASP.Net Membership system for FBA authentication
- We have customised the standard login process to integrate the Multi-Factor Authentication (MFA) offering from Azure as part of the login process (more on this below)
- Standard Reset and Change password features
- Leverages SharePoint "Groups" for easier management of users and FBA roles
- Timeout facility where after a configurable period of inactivity (10 minutes by default) the current user's session will automatically end and take the user to the login page (this is different to ASP.Net session timeout which only takes effect after a user requests a new page)
- Isolated SharePoint Web Application, Application Pool, Application Pool account and Content Database
- Item-Level permissions on most data, configured automatically as part of the data management process
- Usage of SharePoint Secure Store Service to store connection credentials for database access
- Audit logging of each user activity and reporting tools for viewing this activity data
- Timeout Token based authentication to remote hosted streaming media services
- Enforced SSL only access
Multi-Factor Login Process
The decision was taken fairly early on in the planning process to include a Multi-Factor aspect in the Authentication process. For those unfamiliar with this term this essentially means that users require an additional form of proof of identity when they log on the site – not just the standard username and password. We discussed various solutions for this –
- Providing end users with hardware token generators – this would prove too costly in terms of hardware costs and management overhead
- Emailing randomly generated PIN tokens to the user's email address which they would then need to enter on the screen – this was deemed unacceptable as someone could gain access to the user's email account
- Sending a randomly generated PIN token to the user's registered mobile number which they would then need to enter on the screen – this was the agreed approach which we implemented
So having agreed to use SMS for the MFA approach we automatically looked at using the Azure MFA services as the council were already using other Azure services. We are not leveraging the full functionality offered by Azure MFA as our user credentials are not stored in Azure AD. We do however leverage the API for generating and sending SMS tokens to users.
Integrated Streaming Videos
Another key feature of the portal is the ability for prospective parents to view videos of the children. We reviewed a number of ways of managing and hosting this video content with the key deciding factors being how we can minimise the security risk of the videos but also maximise the device and browser compatibility of the playback rendering.
We decided against using SharePoint's built in support for video due to browser and device compatibility issues we saw in testing. We also decided against using Azure's Media Services as at the time it did not have any means for locking the content down to authenticated users only (the security features in Azure Media Services have now improved and might now be a viable option). Instead we decided to leverage a streaming media partner's services who could provide expertise in all things video.
The eventual solution consisted of the following components:
- Externally hosted video on purpose-built servers
- SSL only access to the videos
- Branded video player which works across devices and adapts responsively
The stringent security requirements for the Find me a Family portal took this site beyond that of standard web development project. In order to provide the best options for security and video this lead us to using external services that then had to be integrated back into the site, adding to the complexity involved.
Having overcome all of these challenges the web portal is now up and running having had a successful trial period. Hopefully it will succeed in bringing improved efficiencies for the council and also helping children to 'find a family'.