Credentials & Security Guide#
π Overview#
Your SRS Integration Partner Services (SIPS) credentials are the keys to your integration. This guide outlines critical security requirements and best practices for managing your client_id and client_secret.β οΈ CRITICAL: Mishandling credentials can result in unauthorized access, data breaches, financial loss, and integration suspension.
π What Are Your Credentials?#
When you register with SIPS, you receive two pieces of information:| Credential | Type | Sensitivity | Purpose |
|---|
client_id | Public identifier | π‘ Moderate | Identifies your application to SRS |
client_secret | Secret key | π΄ CRITICAL | Authenticates your application identity |
client_id = Your username (identifies who you are)
client_secret = Your password (proves you are who you say you are)
π¨ Security Requirements#
β
REQUIRED: Use Secrets Management Systems#
Your credentials MUST be stored in a secure secrets management system:Recommended Solutions#
Cloud-Based Secrets Managers:β
Azure Key Vault (Microsoft Azure)
β
AWS Secrets Manager (Amazon Web Services)
β
Google Secret Manager (Google Cloud Platform)
β
HashiCorp Vault (On-premises or cloud)
Container/Orchestration Solutions:β
Kubernetes Secrets (for Kubernetes deployments)
β
Docker Secrets (for Docker Swarm)
β
AWS ECS Secrets (for ECS/Fargate)
Application Configuration:β
Azure App Configuration (with Key Vault integration)
β
AWS Parameter Store (with encryption)
Why Secrets Managers?#
| Benefit | Description |
|---|
| π Encryption at Rest | Credentials stored encrypted in secure vaults |
| π Access Control | Role-based permissions control who can read secrets |
| π Audit Logging | Track when and by whom credentials are accessed |
| π Rotation Support | Automated credential rotation capabilities |
| π Centralized Management | Single source of truth for all environments |
| π No Plaintext Exposure | Credentials never stored in code or config files |
β NEVER Store Credentials In:#
| β Location | Why It's Dangerous | Consequence |
|---|
| Source code files | Committed to version control, visible to all developers | Immediate security breach |
| Git repositories | History is permanent, even after deletion | Public exposure if repo leaked |
| Configuration files | Often checked into source control | Easy to accidentally commit |
| Plain text files | No encryption, easily readable | Direct access if server compromised |
| Environment variables (directly) | Visible in process listings, logs | Exposure through system monitoring |
| Hardcoded strings | Compiled into binaries, difficult to rotate | Impossible to change without redeployment |
| Email or chat messages | Unencrypted, stored indefinitely | Permanent record of credentials |
| Documentation | Screenshots, wikis, shared docs | Wide distribution, hard to revoke |
| Client-side code | JavaScript, mobile apps | Publicly accessible by end users |
π How to Properly Use Credentials#
βοΈ Pattern 1: Azure Key Vault (Recommended for Azure) - Click to expand
Store and Retrieve Credentials:1.
Store credentials in Azure Key Vault using az keyvault secret set
2.
Retrieve at application startup using az keyvault secret show
3.
Populate environment variables from Key Vault values
4.
Use environment variables in your application
Centralized secret management
Automated rotation support
βοΈ Pattern 2: AWS Secrets Manager - Click to expand
Store and Retrieve Credentials:1.
Create secret using aws secretsmanager create-secret
2.
Store both client_id and client_secret in JSON format
3.
Retrieve at runtime using aws secretsmanager get-secret-value
4.
Parse JSON and export to environment variables
Automatic rotation capabilities
Fine-grained IAM permissions
π Pattern 3: HashiCorp Vault - Click to expand
Store and Retrieve Credentials:1.
Store credentials using vault kv put
2.
Retrieve specific fields using vault kv get -field
3.
Export to environment variables
4.
Use Vault Agent for automatic renewal
Dynamic secrets generation
Comprehensive audit trail
On-premises or cloud deployment
β Pattern 4: Kubernetes Secrets - Click to expand
Store and Retrieve Credentials:1.
Create Kubernetes secret using kubectl create secret
2.
Reference secret in Pod/Deployment spec
3.
Mount as environment variables or files
4.
Kubernetes manages secret lifecycle
Native Kubernetes integration
Automatic updates via volume mounts
π Credential Rotation Policy#
SRS Rotation Requirements#
| Policy | Frequency | Enforcement |
|---|
| Recommended Rotation | Every 90 days | Partner responsibility |
| Mandatory Rotation | Every 6 months | SRS enforced |
β οΈ IMPORTANT: SRS will enforce credential rotation every 6 months. Plan ahead to avoid integration downtime.
π Rotation Best Practices - Click to expand
β
Test rotation process in Staging environment
β
Document rotation procedures
β
Identify all systems using credentials
β
Schedule during low-traffic period
β
Request new credentials from SRS Support
β
Update secrets in secrets manager (keep old credentials active)
β
Deploy application updates to use new credentials
β
Verify new credentials work in Production
β
Remove old credentials after verification
β
Update documentation with rotation date
β
Set calendar reminder for next rotation
β
Audit logs to confirm no usage of old credentials
β
Archive old credentials securely (for audit purposes only)
π« What NOT to Do with Credentials#
β Never Share Credentials With - Click to expand
Your integration credentials are for your application only
Customers should never see or use your credentials
Each partner gets unique credentials
Don't share credentials with contractors or vendors without SRS approval
Use separate credentials for different vendors if approved
Public Forums or Support Tickets:Never include credentials in bug reports
Never post credentials in GitHub Issues or Stack Overflow
Only share client_id (not client_secret) when requesting support
Email, Slack, Teams, or Chat:Don't send credentials via unencrypted communication
Use secure password sharing tools (1Password, LastPass) if absolutely necessary
π Suspected Credential Compromise#
β οΈ If you suspect your credentials have been compromised, exposed, or leaked, take immediate action.
π¨ Step 1: Contact SRS Immediately - Click to expand
π Subject: URGENT: Suspected Credential Compromise - [Your Company Name]
1.
Your client_id (safe to share)
3.
Environment affected (Staging/Production)
4.
How credentials were potentially exposed
5.
When the exposure occurred
6.
What actions you've already taken
π Step 2: Investigate the Incident - Click to expand
β
When were credentials exposed?
β
Who had access to the exposed credentials?
β
Were credentials used by unauthorized parties?
β
What data was potentially accessed?
Check API access logs for unusual activity
Look for unexpected IP addresses or usage patterns
Identify any unauthorized API calls
Document timeline of events
π Step 3: Secure Your Environment - Click to expand
β
Revoke compromised credentials (SRS will assist)
β
Remove credentials from exposed location
β
Block unauthorized access points
β
Change all related passwords
β
Request new credentials from SRS
β
Update all systems with new credentials
β
Verify proper secrets management is in place
β
Monitor for suspicious activity
β
Conduct security audit
β
Implement additional access controls
β
Train team on security best practices
β
Document incident and lessons learned
π Step 4: Post-Incident Review - Click to expand
Prevention measures implemented
Actions taken to prevent recurrence
Updated security procedures
π Environment-Specific Credentials#
Use Different Credentials for Each Environment#
| Environment | Purpose | Credential Set |
|---|
| Staging/QA | Testing and development | Staging credentials |
| Production | Live customer orders | Production credentials |
β Why Separate Credentials? - Click to expand
β
Limit Blast Radius: Compromised staging credentials don't affect production
β
Access Control: Different teams can have different access levels
β
Audit Trail: Clear separation of testing vs production activity
β
Rotation Flexibility: Rotate production credentials without impacting testingπ Request Production Credentials - Click to expand
After successful integration testing in Staging
Ready to process live customer orders
Security review completed
2.
Staging client_id (for reference)
Confirmation that security requirements are met
Response Time: 1-2 business days
π Credential Access Control#
Principle of Least Privilege#
π₯ Who Should Have Access - Click to expand
| Role | Access Level | Justification |
|---|
| Production Engineers | Read production credentials | Deploy and maintain live systems |
| DevOps Team | Manage credentials in secrets manager | Infrastructure management |
| Security Team | Audit access logs | Security monitoring |
| Integration Developers | Read staging credentials only | Development and testing |
| Support Team | View client_id only (not secret) | Troubleshooting with SRS |
Who Should NOT Have Access:β Junior developers (use staging credentials)
β QA team (use staging credentials)
β Customer-facing support
β Sales and marketing teams
β Third-party contractors (without approval)
π Access Control Best Practices - Click to expand
Use RBAC in your secrets management system
Grant minimum required permissions
Use service accounts for applications (not personal accounts)
Enable multi-factor authentication (MFA) for human access
β
Regularly review access permissions
β
Remove access immediately when team members leave
β
Audit access logs monthly
β
Document all permission changes
π Audit & Compliance#
π Monitor Credential Usage - Click to expand
β
When credentials are accessed
β
Who accessed credentials
β
What systems used credentials
β
Failed authentication attempts
β
Unusual access patterns
π¨ Credentials accessed from unauthorized IP addresses
π¨ Failed authentication attempts exceeding threshold
π¨ Credentials accessed outside business hours
π¨ Multiple rapid authentication attempts
π Regular Security Audits - Click to expand
β
Who has access to credentials
β
Where credentials are stored
β
Compliance with security policies
β
Comprehensive security assessment
β
Credential management process review
β
Incident response plan validation
π Team Training#
π Required Knowledge by Role - Click to expand
β
Never commit credentials to version control
β
Never share credentials via insecure channels
β
Report suspected compromises immediately
β
How to retrieve credentials from secrets manager
β
Proper use of environment variables
β
Secure coding practices
β
Secrets manager administration
β
Credential rotation procedures
β
Monitoring and alerting setup
β
Incident response procedures
β
Access control management
π Quick Reference Checklist#
β
Before Going Live#
β
Ongoing Maintenance#
β
If Credentials Compromised#
| Resource | Purpose | Link |
|---|
| Authentication Guide | How to authenticate with credentials | Authentication |
| Getting Started | Complete integration overview | Introduction |
| FAQ | Common questions and answers | FAQs |
π¬ Need Help?#
β
Include your client_id (safe to share)
β
Specify environment (Staging/Production)
β NEVER include your client_secret
Response Time: 1-2 business days
π Remember: Your credentials are the keys to your integration. Treat them like you would your bank account passwordβwith the highest level of security and care.
Last Updated: May 5, 2026Modified atΒ 2026-05-05 20:17:58