SRS Integration Partner Services
Home
APIs
Home
APIs
  1. Security
  • SRS Integration Partner Services (SIPS)
  • FAQs
  • Getting Started
    • Introduction
    • Authentication
    • Order Flow
  • SRS API Guides
    • Reference Data
    • Product Data
    • Invoices
    • Web Hooks
  • Security
    • Credentials
  1. Security

Credentials

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:
CredentialTypeSensitivityPurpose
client_idPublic identifier🟑 ModerateIdentifies your application to SRS
client_secretSecret keyπŸ”΄ CRITICALAuthenticates your application identity
Think of it like this:
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?#

BenefitDescription
πŸ”’ Encryption at RestCredentials stored encrypted in secure vaults
πŸ”‘ Access ControlRole-based permissions control who can read secrets
πŸ“œ Audit LoggingTrack when and by whom credentials are accessed
πŸ”„ Rotation SupportAutomated credential rotation capabilities
🌐 Centralized ManagementSingle source of truth for all environments
πŸ” No Plaintext ExposureCredentials never stored in code or config files

❌ NEVER Store Credentials In:#

❌ LocationWhy It's DangerousConsequence
Source code filesCommitted to version control, visible to all developersImmediate security breach
Git repositoriesHistory is permanent, even after deletionPublic exposure if repo leaked
Configuration filesOften checked into source controlEasy to accidentally commit
Plain text filesNo encryption, easily readableDirect access if server compromised
Environment variables (directly)Visible in process listings, logsExposure through system monitoring
Hardcoded stringsCompiled into binaries, difficult to rotateImpossible to change without redeployment
Email or chat messagesUnencrypted, stored indefinitelyPermanent record of credentials
DocumentationScreenshots, wikis, shared docsWide distribution, hard to revoke
Client-side codeJavaScript, mobile appsPublicly 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
Key Benefits:
Centralized secret management
RBAC and access policies
Audit logging
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
Key Benefits:
Native AWS integration
Automatic rotation capabilities
Fine-grained IAM permissions
Cross-region replication
πŸ” 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
Key Benefits:
Multi-cloud support
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
Key Benefits:
Native Kubernetes integration
Namespace isolation
RBAC support
Automatic updates via volume mounts

πŸ”„ Credential Rotation Policy#

SRS Rotation Requirements#

PolicyFrequencyEnforcement
Recommended RotationEvery 90 daysPartner responsibility
Mandatory RotationEvery 6 monthsSRS enforced
⚠️ IMPORTANT: SRS will enforce credential rotation every 6 months. Plan ahead to avoid integration downtime.
πŸ”„ Rotation Best Practices - Click to expand
Before Rotation:
βœ… Test rotation process in Staging environment
βœ… Document rotation procedures
βœ… Identify all systems using credentials
βœ… Schedule during low-traffic period
During Rotation:
βœ… 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
βœ… Monitor for errors
βœ… Remove old credentials after verification
After Rotation:
βœ… 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
End Users / Customers:
Your integration credentials are for your application only
Customers should never see or use your credentials
Each partner gets unique credentials
Third-Party Services:
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
SRS API Support Team:
πŸ“§ Email: APISupportTeam@srsdistribution.com
πŸ“‹ Subject: URGENT: Suspected Credential Compromise - [Your Company Name]
Include in Your Report:
1.
Your client_id (safe to share)
2.
Your company name
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
Determine Scope:
βœ… When were credentials exposed?
βœ… Who had access to the exposed credentials?
βœ… Were credentials used by unauthorized parties?
βœ… What data was potentially accessed?
Review Access Logs:
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
Immediately:
βœ… Revoke compromised credentials (SRS will assist)
βœ… Remove credentials from exposed location
βœ… Block unauthorized access points
βœ… Change all related passwords
Short-term:
βœ… Request new credentials from SRS
βœ… Update all systems with new credentials
βœ… Verify proper secrets management is in place
βœ… Monitor for suspicious activity
Long-term:
βœ… 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
Required Documentation:
Incident timeline
Root cause analysis
Remediation steps taken
Prevention measures implemented
Share with SRS:
Summary of incident
Actions taken to prevent recurrence
Updated security procedures

πŸ” Environment-Specific Credentials#

Use Different Credentials for Each Environment#

EnvironmentPurposeCredential Set
Staging/QATesting and developmentStaging credentials
ProductionLive customer ordersProduction 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
When to Request:
After successful integration testing in Staging
Ready to process live customer orders
Security review completed
How to Request:
1.
Email APISupportTeam@srsdistribution.com
2.
Include:
Company name
Staging client_id (for reference)
Confirmation that security requirements are met
Expected go-live date
Response Time: 1-2 business days

πŸ“Š Credential Access Control#

Principle of Least Privilege#

πŸ‘₯ Who Should Have Access - Click to expand
Roles with Access:
RoleAccess LevelJustification
Production EngineersRead production credentialsDeploy and maintain live systems
DevOps TeamManage credentials in secrets managerInfrastructure management
Security TeamAudit access logsSecurity monitoring
Integration DevelopersRead staging credentials onlyDevelopment and testing
Support TeamView 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
Implementation:
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
Maintenance:
βœ… 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
Track the Following:
βœ… When credentials are accessed
βœ… Who accessed credentials
βœ… What systems used credentials
βœ… Failed authentication attempts
βœ… Unusual access patterns
Set Up Alerts For:
🚨 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
Quarterly Review:
βœ… Who has access to credentials
βœ… Where credentials are stored
βœ… Last rotation date
βœ… Access log review
βœ… Compliance with security policies
Annual Review:
βœ… Comprehensive security assessment
βœ… Penetration testing
βœ… Credential management process review
βœ… Incident response plan validation

πŸŽ“ Team Training#

πŸ“š Required Knowledge by Role - Click to expand
All Team Members:
βœ… Never commit credentials to version control
βœ… Never share credentials via insecure channels
βœ… Report suspected compromises immediately
Developers:
βœ… How to retrieve credentials from secrets manager
βœ… Proper use of environment variables
βœ… Secure coding practices
DevOps/Operations:
βœ… Secrets manager administration
βœ… Credential rotation procedures
βœ… Monitoring and alerting setup
Security Team:
βœ… Incident response procedures
βœ… Audit log analysis
βœ… Access control management

πŸ“š Quick Reference Checklist#

βœ… Before Going Live#

Credentials stored in secrets management system
Separate credentials for Staging vs Production
Access controls configured (least privilege)
Monitoring and alerting enabled
Team trained on security procedures
Incident response plan documented
Rotation schedule planned
Backup/recovery procedures tested

βœ… Ongoing Maintenance#

Rotate credentials every 90 days (recommended)
Review access logs monthly
Audit access permissions quarterly
Update security documentation
Test credential rotation process
Train new team members

βœ… If Credentials Compromised#

Contact SRS immediately
Revoke compromised credentials
Investigate incident scope
Update all affected systems
Document incident
Implement additional controls

πŸ”— Related Documentation#

ResourcePurposeLink
Authentication GuideHow to authenticate with credentialsAuthentication
Getting StartedComplete integration overviewIntroduction
FAQCommon questions and answersFAQs

πŸ’¬ Need Help?#

Contact SRS API Support:
πŸ“§ Email: APISupportTeam@srsdistribution.com
When contacting support:
βœ… 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, 2026
Modified atΒ 2026-05-05 20:17:58
Previous
Web Hooks
Next
Built with