---
title: SAIF.Business.EPay.USBank security and authorization
summary: Authorization requirements, security enforcement points, and data-protection controls for SAIF.Business.EPay.USBank.
status: draft
owner: SAIF
last_reviewed: 2026-07-24
library: SAIF.Business.EPay.USBank
reference_type: package
---

# SAIF.Business.EPay.USBank security and authorization

This library does not implement application-level authorization. Its security posture is instead defined by transport-level certificate authentication, decryption of protected banking data immediately before transmission, proxy-account impersonation for a configuration-file read, and admin single-sign-on payload construction.

## Authorization architecture

`SAIF.Business.EPay.USBank` exposes no AD resource checks, `IsAuthorized` calls, `IsInRole` calls, or authorization attributes. The diagram below shows the non-authorization security controls that still shape runtime behavior.

```mermaid
flowchart TD
    Caller[Calling SAIF code] --> APIs[USBankAPIs]
    APIs --> Cert[LoadCert / X509 certificate]
    APIs --> Decrypt[clsSecureEncrypt]
    APIs --> Gateway[US Bank SOAP gateway]
    Caller --> Posts[RemotePostFiller]
    Posts --> SSO[Admin SSO payload fields]
    Posts --> Codes[USBankCodes]
    Codes --> Impersonation[clsElevateImpersonate]
    Impersonation --> Constants[UNC-hosted constants XML]
```

## AD resource catalog

| Resource name | Purpose | Enforcement point | Source |
| --- | --- | --- | --- |
| *(none found)* | No AD resource names are referenced by this library. | Not applicable | `Business\SAIF.Business.EPay.USBank\USBankAPIs.vb`; `Business\SAIF.Business.EPay.USBank\RemotePostFiller.vb`; `Business\SAIF.Business.EPay.USBank\USBankCodes.vb` |

## Authorization enforcement points

No attribute-based or programmatic authorization checks were detected in the supplied source set.

## Data-level authorization

No entity-ownership or access-scope validation logic was identified in this library. Callers are expected to apply any user-to-policy authorization before invoking the payment integration layer.

## Security interfaces and contracts

| Interface / Class | Role | Consumers | Source |
| --- | --- | --- | --- |
| `LoadCert` / X.509 certificate helpers | Load a client certificate from the local machine store so the primary SOAP client can mutually authenticate with US Bank. | `USBankAPIs` | `Business\SAIF.Business.EPay.USBank\USBankAPIs.vb` |
| `SAIF.Security.clsSecureEncrypt` | Decrypt stored routing and account values immediately before request construction. | `USBankAPIs` | `Business\SAIF.Business.EPay.USBank\USBankAPIs.vb` |
| `clsElevateImpersonate` | Impersonate the proxy account that can read the UNC-hosted constants file. | `USBankCodes` | `Business\SAIF.Business.EPay.USBank\USBankCodes.vb` |
| `epayWebServiceService` | Generated SOAP client that carries the certificate-authenticated payment traffic. | `USBankAPIs` | `Business\SAIF.Business.EPay.USBank\epayWebServiceService.vb` |

## Notes
- No local AD authorization model is implemented in this library.
- Admin payment flows still carry security-sensitive material such as `AdminToken`, `EncData`, `EncKey`, and `Signature` fields in the generated `RemotePost` payloads.
- Security-relevant configuration is documented separately on the [Configuration](configuration.md) page.

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [Database tables](database-tables.md)
- [SQL catalog](sql/index.md)
- [API reference](api/index.md)
## Sources
- `Business\SAIF.Business.EPay.USBank\USBankAPIs.vb`
- `Business\SAIF.Business.EPay.USBank\RemotePostFiller.vb`
- `Business\SAIF.Business.EPay.USBank\USBankCodes.vb`
- `Business\SAIF.Business.EPay.USBank\USBankConstants.vb`
- `Business\SAIF.Business.EPay.USBank\clsUSBankUser.vb`
- `Business\SAIF.Business.EPay.USBank\clsUSBankNonpayNotice.vb`
- `Business\SAIF.Business.EPay.USBank\epayWebServiceService.vb`

