WEB-601 Create env var for hidding client data information (#3010)

This commit is contained in:
Soni Jay
2026-01-18 15:27:12 -06:00
committed by GitHub
parent 3f025e1cda
commit 30c33ed378
8 changed files with 61 additions and 6 deletions
+20 -5
View File
@@ -281,11 +281,12 @@ Available languages:
#### UI Display Settings
| Variable | Description | Default Value |
| ---------------------------------- | ------------------------------------- | ------------- |
| MIFOS_DISPLAY_TENANT_SELECTOR | Display tenant selector in Login view | true |
| MIFOS_DISPLAY_BACKEND_INFO | Display backend info in footer | true |
| MIFOS_ALLOW_SERVER_SWITCH_SELECTOR | Display DNS server list | true |
| Variable | Description | Default Value |
| ---------------------------------- | -------------------------------------- | ------------- |
| MIFOS_DISPLAY_TENANT_SELECTOR | Display tenant selector in Login view | true |
| MIFOS_DISPLAY_BACKEND_INFO | Display backend info in footer | true |
| MIFOS_ALLOW_SERVER_SWITCH_SELECTOR | Display DNS server list | true |
| MIFOS_COMPLIANCE_HIDE_CLIENT_DATA | Hide client names in UI (mask with \*) | false |
#### OAUTH Settings
@@ -307,6 +308,20 @@ Available languages:
For more detailed configuration options, refer to the `env.sample` file in the root directory of the project.
### Client Data Masking Example
When `MIFOS_COMPLIANCE_HIDE_CLIENT_DATA=false` (default):
EMANUEL CASTILLO
MIGUEL TECO
When `MIFOS_COMPLIANCE_HIDE_CLIENT_DATA=true`:
E**\*** C**\*\*\***
M**\*** T\*\*\*
This applies to client name display, e.g. in Institution/Clients list.
## Releases
### 1.0.0 (Tag: 1.0.0-fineract1.11)
+3
View File
@@ -38,3 +38,6 @@ MIFOS_OAUTH_CLIENT_ID=web-app
#Enable or Disable HTTP Cache
MIFOS_HTTP_CACHE_ENABLED=true
# Hide client data information (set to true to mask client names)
MIFOS_COMPLIANCE_HIDE_CLIENT_DATA=false
+3 -1
View File
@@ -50,7 +50,9 @@
<!-- Name Column -->
<ng-container matColumnDef="displayName">
<th mat-header-cell *matHeaderCellDef mat-sort-header>{{ 'labels.inputs.name' | translate }}</th>
<td mat-cell *matCellDef="let row" [routerLink]="[row.id, 'general']">{{ row.displayName }}</td>
<td mat-cell *matCellDef="let row" [routerLink]="[row.id, 'general']">
{{ hideClientData ? maskName(row.displayName) : row.displayName }}
</td>
</ng-container>
<!-- Account no Column -->
+14
View File
@@ -67,6 +67,20 @@ import { STANDALONE_SHARED_IMPORTS } from 'app/standalone-shared.module';
export class ClientsComponent implements OnInit {
private clientService = inject(ClientsService);
/** Returns true if client data masking is enabled */
get hideClientData(): boolean {
return environment.complianceHideClientData;
}
/** Mask a client name */
maskName(name: string): string {
if (!name) return '';
return name
.split(' ')
.map((part) => (part.length > 1 ? part[0] + '*'.repeat(part.length - 1) : part))
.join(' ');
}
@ViewChild('showClosedAccounts') showClosedAccounts: MatCheckbox;
displayedColumns = [
+4
View File
@@ -58,6 +58,10 @@
// OAuth Client Id
window['env']['oauthAppId'] = '';
// Hide client data (mask names)
window['env']['complianceHideClientData'] = '';
// OIDC Plugin Environment variables
window['env']['oidcServerEnabled'] = false;
window['env']['oidcBaseUrl'] = '';
+3
View File
@@ -72,6 +72,9 @@
// Enable or Disable HTTP Cache
window['env']['httpCacheEnabled'] = '$MIFOS_HTTP_CACHE_ENABLED';
// Hide client data (mask names)
window['env']['complianceHideClientData'] = '$MIFOS_COMPLIANCE_HIDE_CLIENT_DATA';
window['env']['vNextApiUrl'] = '$VNEXT_API_URL';
window['env']['vNextApiProvider'] = '$VNEXT_API_PROVIDER';
window['env']['vNextApiVersion'] = '$VNEXT_API_VERSION';
+7
View File
@@ -80,6 +80,13 @@ export const environment = {
minPasswordLength: loadedEnv['minPasswordLength'] || 12,
/**
* Hide client data information (mask client names with *)
* Set via MIFOS_COMPLIANCE_HIDE_CLIENT_DATA env var
*/
complianceHideClientData:
loadedEnv['complianceHideClientData'] === 'true' || loadedEnv['complianceHideClientData'] === true || false,
OIDC: {
// Support legacy FINERACT_PLUGIN_OIDC_* variable names for backward compatibility
oidcServerEnabled:
+7
View File
@@ -84,6 +84,13 @@ export const environment = {
minPasswordLength: loadedEnv.minPasswordLength || 12,
/**
* Hide client data information (mask client names with *)
* Set via MIFOS_COMPLIANCE_HIDE_CLIENT_DATA env var
*/
complianceHideClientData:
loadedEnv.complianceHideClientData === 'true' || loadedEnv.complianceHideClientData === true || false,
OIDC: {
// Support legacy FINERACT_PLUGIN_OIDC_* variable names for backward compatibility
oidcServerEnabled: