Loan management software and the FTC Safeguards Rule

Non-bank lenders covered by the FTC Safeguards Rule need encryption, MFA, activity logging, change management and periodic testing around their loan system. Here is how self-hosted Fineract or Frappe Lending maps to those controls and where tooling alone falls short.

On this page

Does loan management software need to meet the FTC Safeguards Rule?

If your lending business is a non-bank financial institution under FTC jurisdiction, the Safeguards Rule at 16 CFR 314.4 sets specific technical controls that your loan platform and the systems around it must support. Those controls cover encryption of customer information in transit over external networks and at rest, multi-factor authentication for any individual accessing any information system, change management procedures, and logging of authorized user activity. The question for your team is not whether Fineract or Frappe Lending is compliant, but whether your deployment, identity setup, database, integrations and admin tooling can produce each control and prove it.

Software does not make a lender compliant on its own. The rule places the obligation on the institution, which must designate a Qualified Individual, maintain a written information security program, and keep evidence that the program operates. A self-hosted Fineract deployment, for example, needs documented decisions on where the database sits, how staff sign in to the Mifos X front end and the write and batch instances, and who may approve a change to a loan product. Confirm with your Qualified Individual which controls you will meet through the platform, which through identity and infrastructure services, and which through policy. DeployOpen plans, implements and documents the self-hosted platform and prepares the evidence for your review, but it does not certify, audit or attest to your compliance; that role belongs to your own assessors and the standards you choose to rely on.

Mapping Safeguards Rule controls to loan system configuration

This table maps each Safeguards Rule requirement that touches the loan system to the configuration items a self-hosted Fineract or Frappe Lending deployment must set, and the evidence an assessor will ask to see. Read each row as a question to answer in your own environment: the platform gives you the levers, but your Qualified Individual and your auditor decide whether the setup is sufficient.

RequirementWhat the deployment must doEvidence to keep
Encryption in transit (314.4(c)(3))Terminate TLS for all browser, API and Mifos X traffic over external networks, and encrypt connections from the application to PostgreSQL where they cross a network boundary. Confirm the TLS settings of your reverse proxy and Kubernetes ingress.Certificate inventory, TLS configuration scan results, database connection settings showing SSL mode
Encryption at rest (314.4(c)(3))Enable encryption for the PostgreSQL data volumes, backups, object storage for borrower KYC documents and log stores. Fineract's data and KYC documents live in these stores, so each one must be in scope.Storage encryption configuration, key management records, backup encryption settings
MFA for any individual (314.4(c)(5))Require multi-factor authentication for staff, admins, service operators and any remote access path into the Fineract REST APIs, Mifos X or Frappe Lending admin consoles, and the database. Fineract does not ship its own user interface, so MFA must be enforced at the front end, identity provider or access gateway you place in front of it. Any exception needs a written approval from the Qualified Individual.Identity provider MFA policy export, list of accounts with MFA status, signed written-equivalent approvals for any exception
Activity logging for authorized users (314.4(c)(8))Log authentication events, loan approvals, disbursements, rate or product changes, write-off actions and user or role changes. For Fineract, collect audit and access logs from the write instances and the gateway, using the tenant identifier to separate activity by tenant. Confirm the retention period with your compliance lead.Sample log extracts showing user, action and timestamp, log retention settings, alerting rules
Change management (314.4(c)(7))Route configuration changes to loan products, interest methods, fee rules and tenant settings through a documented approval step. Apply Liquibase migrations only on write instances, and use the liquibase-only Spring profile on Kubernetes so schema changes are run deliberately. Keep Fineract and Frappe Lending version upgrades in the same change record.Change tickets, approval records, migration run logs, release notes for each deployed version
Multi-tenant isolation and configurationIf you run several lending entities on one Fineract install, document the Fineract-Platform-TenantId header handling at the gateway and confirm tenant connections are defined in the tenants database. Test that a request for one tenant cannot read another tenant's loans.Tenant configuration export, gateway header rules, cross-tenant access test results
Database platform (PostgreSQL)Standardize on PostgreSQL, which the Fineract README recommends. The README states MariaDB and MySQL are deprecated under FSIP-9, so a non-PostgreSQL database creates a support and assessment question to answer before go-live. Frappe Lending runs on its own supported database stack, which you should confirm in its documentation.Database version record, supported-platform decision memo, patch status
Read, write and batch instance separationConfigure one write instance, one batch instance and read instances on replicas as the Fineract documentation describes. Restrict write paths to the write instance so reporting queries do not affect transaction integrity, and record which instance serves each function.Instance configuration files, network policy diagram, access logs per instance
Penetration test and vulnerability assessment (314.4(d)(2))Without effective continuous monitoring, run a penetration test every year and vulnerability assessments at least every six months across the loan system, including the APIs, the front end, the database and the hosting layer. DeployOpen runs security testing as a scoped service, but the scope, dates and remediation owner should be set in your own written plan.Annual penetration test report, two vulnerability assessment reports per year, remediation tracker

Which open-source lending platforms fit a Safeguards Rule program

Two open-source lending cores dominate self-hosted deployments, and each places access control, logging and change management in a different layer. The choice affects which controls you build yourself and which you verify in the platform. Confirm the native capabilities of each candidate before you assign Safeguards Rule controls to it.

Apache Fineract as a headless core

Fineract is licensed under Apache-2.0 and is a headless application: it exposes REST APIs and does not ship its own user interface. Under the Safeguards Rule, that means staff authentication, multi-factor authentication and the logs of user activity sit in the front end and the API gateway you place in front of it. Confirm which Fineract API calls are logged natively and at what detail, and whether tenant-level audit trails meet your review needs. Map every access path to a control owner before go-live.

Mifos X as the front end

The Fineract README points to Mifos X as the web application used in its Kubernetes example, so many deployments pair the two. Mifos X becomes a major control point for staff login, role assignments and user activity review. Ask whether the front end supports MFA for every staff and admin account, or whether you must enforce it at an identity provider. Document how role changes are approved and recorded in both layers.

Frappe Lending on the Frappe framework

Frappe Lending is built on the same framework as ERPNext, which provides a built-in user interface, role permissions and a document history for records. This shifts more access control, logging and change management into a single application layer you configure rather than assemble. Confirm which activity logs cover loan, repayment and collections records, how long they are retained, and whether they can be exported to your security monitoring. Check the license terms of the version you deploy.

Release cadence and change management

Fineract publishes official releases quarterly, at the end of each quarter, and archives end-of-life releases. Your change management procedure must cover how each upgrade is reviewed, tested and approved before production, and how security patches are scheduled between quarterly releases. Frappe Lending releases follow a different cadence, so build the procedure around whichever project you select. Ask each vendor or partner to show a written release and rollback process.

Production complexity and support

The Fineract README warns that production deployments can be complex, costly and time-consuming, and that the project does not provide a comprehensive production deployment guide. Many organizations pay a vendor for deployment and maintenance. For a Safeguards Rule program, this affects who owns hardening, encryption configuration and log retention. Ask any implementation partner which controls it will deliver, which it will document, and which remain with your team.

Testing evidence for both platforms

Under 16 CFR 314.4(d)(2), an institution without effective continuous monitoring must run penetration tests annually and vulnerability assessments at least every six months. Whichever platform you choose, test the API layer, the front end, database access and the tenant configuration, because each is a separate attack surface. Confirm which findings and test results the platform vendor provides, and which you must generate. Retain the reports for your Qualified Individual to review.

How the lending stack, identity layer and change pipeline fit

This sequence builds a controlled environment in which every system holding borrower information is inventoried, reached only through identity controls, protected in transit and at rest, changed through a recorded pipeline, and tested on a schedule. Each step produces evidence the Safeguards Rule expects a covered lender to hold.

  1. Scope every system that touches customer information

    Start by listing each system that stores, processes or transmits borrower data: the Fineract or Frappe Lending core, the front end such as Mifos X, the database, reporting exports, document storage, collections tools, and the payment and credit bureau connections. Your Qualified Individual and the DeployOpen team agree the boundary in writing, including the cloud account, network segments and backup targets that sit inside it. The output is a system inventory with an owner and data classification for each item, which becomes the reference for every later control. Confirm with your counsel which entities fall under FTC jurisdiction, since that determines whether the rule applies at all.

  2. Deploy the loan core as read and write instances

    In your own cloud account or data center, deploy Fineract as a headless service with separate write, batch and read instances, following the instance types the project documents. Liquibase migrations run only on write instances, so the deployment keeps schema changes in one controlled place. Use PostgreSQL, which the project recommends, and keep the Mifos X front end on its own tier. The check that closes this step is a working environment where each tier is reachable only from the tiers that need it, with the network rules written down.

  3. Place the lending stack behind the identity provider

    Connect staff and administrator logins to your identity provider, and require multi-factor authentication for every individual who can reach any information system in scope, including database and cloud console access. Map roles to lending functions such as origination, servicing, collections and system administration, and remove standing admin rights in favor of named, time-limited elevation. Exceptions exist only where the Qualified Individual approves an equivalent control in writing. The closing check is an access review export showing that each account in the inventory has MFA enforced and an owner.

  4. Encrypt connections and database storage

    Enforce TLS on all traffic that crosses external networks, including API calls from the front end, partner feeds and payment provider links, and enable encryption at rest for the PostgreSQL volumes, backups, object storage and log archives. Keys should live in a managed key service or hardware-backed store that the platform team administers separately from application admins. The output is a configuration baseline and a test result showing that unencrypted connections are refused and that storage encryption is active on every volume in the inventory.

  5. Route admin actions through a change pipeline

    Put configuration, product and rule changes, schema migrations and infrastructure code through version control, peer review and a staged environment before production. Each change record should name the requester, approver, test evidence and rollback plan, which covers the change management procedures the rule asks for. Direct production edits to the database are blocked except through a logged break-glass process. The closing check is a sample of recent changes showing a complete record from request to deployment.

  6. Log user activity and send logs to protected storage

    Enable audit logging in Fineract, the front end, the database and the identity provider, capturing logins, authorization changes, loan and account edits, and administrator actions. Ship these logs to storage that the application administrators cannot alter, and set retention to match your records policy. The output is a test in which a sample staff action appears in the central log with the user, time and object changed, and in which an admin attempt to delete a log entry is denied.

  7. Schedule penetration tests and vulnerability assessments

    Unless continuous monitoring is in place and effective, the rule requires annual penetration testing and vulnerability assessments at least every six months. Agree the test scope against the inventory, covering the lending application, APIs, the cloud configuration and the identity integration, and fix the calendar in the statement of work. Findings feed back into the change pipeline as tracked tickets with owners. The output is a signed test report, a remediation log and a dated schedule that your Qualified Individual can present to the board.

What examiners ask for and which component produces it

This table maps the evidence a examiner typically requests under the Safeguards Rule to the component that generates it in a self-hosted Fineract or Frappe Lending stack. Read each row as a question the lender must answer with records it keeps and can present. The main takeaway is that most evidence comes from the identity provider, database, application logs and ticketing system, so the lender must retain it outside the lending application itself.

Evidence itemProducing componentWhat the lender retains and presents
Written information security program and Qualified Individual designationGovernance records kept by the lender, not a platformCurrent written program, the named Qualified Individual, board or senior reporting records, and the date of the last review
Qualified Individual's written approvals for any MFA equivalent controlTicketing or GRC record, signed by the Qualified IndividualSigned exception with the compensating control described, the systems covered and the review date
MFA enrollment and enforcement reports for staff and adminsIdentity provider (for example, an SSO or directory service) in front of Fineract or Frappe LendingEnrollment report for every account with access, exceptions list, and proof that admin consoles and database access also require MFA
Encryption in transit configurationLoad balancer, reverse proxy and application TLS settingsExported TLS configuration showing supported protocols and cipher settings for external and internal links
Encryption at rest configurationDatabase (PostgreSQL is the recommended engine for Fineract), storage volumes and backup toolingVolume or database encryption settings, key management records, and backup encryption configuration
User activity logs and their retention periodApplication logs, API gateway logs, database audit logs and the identity provider sign-in log, shipped to a central storeSample log extracts showing authorized user actions, retention settings and access controls on the log store itself
Change tickets with approvals and test evidenceTicketing system tied to the Git repository and deployment pipelineApproved change records for configuration, product and code changes, with test results and rollback notes
Penetration test and vulnerability assessment reportsIndependent testers and scanning tools, with results stored in the lender's own recordsAnnual penetration test report and vulnerability assessments at least every six months, plus remediation tracking

Questions lenders ask before hiring an implementation partner

What does an open source loan management implementation cost, and what drives it?

The cost is set by the written scope, not by a list price, and DeployOpen does not publish one. The main components are the partner's planning and build work, product and workflow configuration in Apache Fineract or Frappe Lending, data migration, integrations with credit bureaus and payment providers, security controls, testing, and documentation. Recurring costs include the cloud or data center infrastructure you pay for, backups, upgrades, and any retainer for support or continuous testing. Drivers that push cost up include the number of loan products, custom workflows, the number of systems that touch borrower data, and the volume of records to migrate. Ask for a quote that separates one-time work from recurring items.

How long does a compliant lending deployment take to set up?

No duration is fixed in advance, because it depends on scope and on your environment. The biggest variables are how many loan products you run, whether you need custom development, how complete your access, logging and encryption design is at the start, and how quickly your team approves change management steps. Controls such as encryption, multi-factor authentication, activity logging and change procedures can be built into the design early, which avoids rework late in the project. Ask any partner for a written timeline tied to named deliverables, and confirm which of your internal approvals fall on the critical path.

What must our team supply before an implementation partner can start?

Your team needs to provide decisions and access that only your organization can give. This usually includes the lending products and interest methods you offer, your repayment and collections rules, the accounting structure, and the list of systems that connect to the loan platform. You will also need to name the Qualified Individual who oversees your information security program, identify who holds administrative access, and confirm where your infrastructure will run. Expect to supply data samples for migration, existing policies and risk assessments, and a named owner for approvals. Missing decisions at the start are a common reason scope expands mid-project.

Can an internal IT team deploy and secure Fineract or Frappe Lending alone?

An internal team can do it, provided it has the skills and time for the work. The Apache Fineract project notes that a production deployment can be complex, costly and time-consuming, and that it does not provide a comprehensive production deployment guide, so teams often pay a vendor for deployment and maintenance. The skills that matter include PostgreSQL administration, container and Kubernetes operations, identity integration, security testing, and documentation for examiners. Decide early which parts your team will own after go-live, such as patching, backups and access reviews, and which parts a partner will support under a retainer.

What does the annual testing requirement in the Safeguards Rule actually involve?

Under 16 CFR 314.4, if you do not run effective continuous monitoring, you must conduct annual penetration testing and vulnerability assessments at least every six months. Penetration testing probes whether an attacker could get past your controls, while vulnerability assessments scan for known weaknesses in systems and configurations. Scope should cover the loan platform, its database, APIs, administrative interfaces, and the integrations that move borrower data. Ask a testing provider to explain its methodology, how findings are tracked to closure, and what evidence it returns. Your Qualified Individual still owns the program and decides how results are handled.

Does DeployOpen issue a Safeguards Rule attestation or certification?

No. DeployOpen plans, implements, hardens and documents self-hosted platforms, and prepares systems, controls and evidence for compliance assessments. It does not issue audit reports, attestations or certifications. The Safeguards Rule does not provide a certification scheme that a vendor can grant, and your compliance obligations stay with your organization. Ask any partner which evidence it will hand over, such as configuration records, access settings, logging design, change records and test reports, and confirm with your legal or compliance advisers what your regulator expects you to hold.

What evidence should the partner deliver for the Safeguards Rule controls?

Ask for evidence that maps directly to each control area in the rule. For encryption, that means documented settings for data in transit over external networks and at rest. For multi-factor authentication, it means the configuration covering every individual who accesses an information system, and any written approval for an equivalent control. For logging, it means records of authorized user activity and retention settings. For change management, it means documented procedures, approvals and rollback records. Also ask how the partner handles evidence after go-live, since controls drift over time without regular review.

Who is responsible for ongoing upgrades and security patches?

Responsibility should be written into the contract before work starts. In a self-hosted model, your organization owns the infrastructure, the data and the final decisions, while the partner may deliver upgrades, backups, monitoring or testing under a retainer. Fineract publishes official releases quarterly and archives end-of-life releases, so a patch and upgrade plan should specify who tracks releases, who tests them, and how changes pass your change management procedure. Confirm response expectations, maintenance windows and what happens when a release reaches end of life.

What tooling alone does not satisfy

Fineract or Frappe Lending can carry encryption, MFA, logging and change control, but the Safeguards Rule also expects decisions and evidence that no software supplies. The cards below cover the program, policy, vendor, operations and testing work that sits alongside the platform and that an examiner will ask to see.

Written program and Qualified Individual

The rule requires a written information security program overseen by a designated Qualified Individual. That person owns risk assessment, the control list and the annual report to the board. A self-hosted lending stack gives no program document on its own. Ask your partner who will write the program, and confirm your named Qualified Individual has authority over engineering changes to the loan system.

Data classification and retention decisions

Fineract holds client data, KYC documents, loan balances and repayment histories, but it does not decide which fields are sensitive or how long each record must be kept. Those choices drive encryption scope, access roles and deletion jobs. Set them in a policy before configuring the database and document store, and confirm with counsel which retention periods apply to each loan product and state.

Vendor oversight for SaaS parts

Most lenders run some SaaS beside the core, such as payment processors, identity providers, e-signature or bureau connectors. Each one stores or transmits customer information, so each must be assessed, contracted and monitored under your program. Keep a list of every third party with data access, confirm where each processes data, and ask for their security attestations before go-live.

No built-in production guide

The Fineract README states that the project does not provide a comprehensive production deployment guide and that production can be complex and costly. Your team must design the high availability topology, backup and restore, secrets handling and hardening baseline, then document them. Ask the partner to deliver that runbook as a written deliverable, with restore tests recorded.

Monitoring and incident response

Logging user activity is only useful when someone reviews it and acts on alerts. Define which events trigger review, such as failed MFA, bulk exports, role changes and admin logins, and who responds. Write an incident response plan that covers notifying the Qualified Individual and any state or customer obligations. Test it with a tabletop exercise before you need it.

Independent testing over self-attestation

The rule requires annual penetration testing and vulnerability assessments at least every six months unless effective continuous monitoring is in place. Running your own scanner and writing the result into the program is self-attestation. Plan for an independent tester who tests the lending application, its APIs and the hosting environment, and budget for retesting after remediation.

What a lender should decide before building

The first decision is which systems hold customer information, because the Safeguards Rule controls apply to every information system that touches it. Map the Fineract or Frappe Lending application, its PostgreSQL database and replicas, the tenants database that Fineract uses for multi-tenant connections, backups, reporting exports, document storage for KYC files, the Mifos X front end if you use it, and the payment and bureau integrations. Each one needs encryption at rest, MFA for anyone who can reach it, and activity logging. A system left off the inventory is the one an examiner finds. Ask your implementation partner to produce this map in writing and confirm where each component runs and who administers it.

Next, decide whether to host the lending platform in a dedicated cloud account or project shared with other workloads. A dedicated account keeps administrative roles, network paths, key management and log retention scoped to lending, which makes the evidence easier to produce. Shared infrastructure can work, but it puts more weight on network segmentation and access reviews. Also decide how to split roles: separate the people who configure loan products and business rules from those who administer the database and servers, and limit break-glass admin access to named individuals with MFA. Confirm with the vendor and your environment how the Fineract admin users, Frappe roles and database accounts are created and reviewed, since the rule requires MFA for any individual accessing any information system unless the Qualified Individual approves an equivalent control in writing.

Finally, align the testing schedule with the release cadence before the first go-live. The Safeguards Rule requires annual penetration testing and vulnerability assessments at least every six months unless continuous monitoring is in place, and it expects change management for system modifications. Fineract publishes quarterly releases at the end of each quarter, and version 1.15.0 was published on July 14, 2026, so plan assessments to follow the upgrades you actually deploy, not a calendar date alone. Agree with your partner who approves each change, how test results feed the risk register, and whether the Qualified Individual will decide if continuous monitoring replaces the semiannual cycle. Confirm these points in writing before scope is fixed.

How DeployOpen scopes and supports a Safeguards Rule deployment

DeployOpen plans, implements, hardens, documents and supports self-hosted open-source lending platforms inside your own cloud accounts, data centers or air-gapped networks. For a non-bank lender working toward the FTC Safeguards Rule, we start from a written scope that maps each Safeguards control to a specific configuration, owner and piece of evidence in your Fineract or Frappe Lending environment.

How we scope

  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.
  • Scope lists which Fineract or Frappe Lending instances, databases, front ends and integrations hold customer information.
  • Scope names the Qualified Individual role, the control owners and the systems covered by multi-factor authentication.

How we build

  • We configure encryption in transit and at rest for the lending application, database, backups and integration endpoints.
  • We set up MFA for staff and admin access and document any written equivalent control your Qualified Individual approves.
  • We build audit logging for authorized user activity and a change management workflow with review and rollback steps.

How we hand over

  • Handover includes configuration records, runbooks for access, logging and change procedures, and an evidence index mapped to each Safeguards element.
  • We document the penetration testing and vulnerability assessment cadence the rule requires, with results and remediation tracked.
  • Your team receives operating procedures for managing admin accounts, reviewing logs and approving changes after go-live.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, so controls stay current with each Fineract release.
  • Retainers can cover periodic penetration tests, vulnerability assessments and review of change records against the written scope.
  • We prepare systems and evidence for your assessments, while independent auditors and certification bodies issue any formal opinions.

Sources and further reading

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.