Least privilege
Users and applications should receive only the permissions required for their responsibilities.
Security should be part of the platform architecture, the integration model and the daily operating process—not an afterthought added around production systems.
Zayloft is designed around controlled access, scoped credentials, tenant boundaries, secure transport, event verification, auditability and practical operational safeguards across communications and identity workflows.
A secure communications platform should make it clear who can access what, which application is acting, where secrets are stored, how events are trusted and how important changes are recorded.
Users and applications should receive only the permissions required for their responsibilities.
Organization and project data should remain separated across resource access and processing.
Security should combine identity controls, transport protection, application safeguards and operational review.
Important authentication, credential, configuration and administrative events should be attributable.
Human access and machine access have different risks. Zayloft’s architecture separates user authentication from application credentials and supports controlled access patterns for both.
Assign permissions according to responsibilities such as engineering, operations, finance, support and administration.
Use appropriate multifactor and modern authentication controls for sensitive account access.
Enterprise identity patterns can use standards such as SAML 2.0 and OpenID Connect where configured.
Applications should use scoped machine credentials rather than shared human credentials.
Rotate exposed, outdated or high-risk credentials and remove access that is no longer needed.
Use structured onboarding, role changes and deprovisioning so access follows the current organization state.
API keys, SMPP credentials, webhook signing secrets and other sensitive values should never be embedded in public code or distributed where they cannot be protected.
Store secrets in protected server configuration or appropriate secret-management systems.
Keep development, testing and production credentials independent.
Issue credentials only for the projects, environments and capabilities an application requires.
Remove or rotate credentials quickly when access changes or compromise is suspected.
Public APIs and supported persistent protocol connections should use modern secure transport. Applications should also validate the systems they connect to instead of disabling certificate or signature checks.
Use modern TLS for API and browser transport.
Use secure connection options for supported persistent protocols where available and appropriate.
Validate signed webhook payloads before trusting event data.
Use event identifiers, timestamps and idempotent processing to reduce replay and duplicate-processing risk.
Distributed systems encounter invalid requests, unexpected inputs, retries and partial failures. Secure integrations should treat these as normal conditions and handle them explicitly.
Validate structured requests, resource identifiers, formats and allowed values before processing.
Return useful machine-readable errors without exposing provider secrets, internal credentials or unnecessary infrastructure details.
Use idempotent request patterns so retries do not silently duplicate sensitive customer actions.
Use appropriate rate and throughput controls to reduce abuse and protect dependent systems.
Combine account verification, suppression, review and behavioral controls where misuse risk is meaningful.
New credentials, environments and integrations should begin with conservative access rather than broad privileges.
Security is not limited to storage. Collection, access, processing, retention, export and deletion all need defined boundaries appropriate to the service and customer configuration.
Collect and expose only information needed to operate the requested service.
Limit access to customer and operational data according to role, project and service responsibility.
Define retention periods according to product behavior, customer configuration and applicable requirements.
Support deletion workflows where data is eligible for removal and operational dependencies permit it.
Treat data exports as sensitive operations with appropriate authorization and auditability.
Keep logs useful for operations without unnecessarily recording secrets or sensitive payload content.
When an account configuration, credential or administrative setting changes, teams need enough context to investigate the action and its operational effect.
Record meaningful account, access and configuration changes.
Track creation, rotation, revocation and other important credential lifecycle actions.
Use stable identifiers to trace important API and webhook activity.
Correlate logs, delivery events and account changes when diagnosing incidents or unexpected behavior.
Application security improves when teams review architecture, dependencies, code changes and operational behavior as part of normal delivery rather than only after an incident.
Review security-sensitive changes and access paths before production release.
Track third-party dependencies and respond appropriately to relevant security updates.
Keep production credentials, configuration and data separated from development workflows.
Use appropriate application, integration and abuse-case testing around high-impact workflows.
When suspicious activity or a security issue is identified, the response should focus on limiting impact, preserving useful evidence, restoring safe operation and communicating with affected parties as appropriate.
Use operational signals, authentication events, error patterns and reports to identify suspicious conditions.
Restrict affected credentials, accounts, routes or services where necessary to reduce further impact.
Use logs, account history and technical context to understand scope and root cause.
Restore service through validated configuration, credential rotation and corrective action.
Zayloft can provide platform controls, but customers also control their own users, credentials, integrations, message content, endpoints and downstream systems.
Customers should manage their users, roles, devices and credentials responsibly.
Customer applications should verify events, protect secrets and handle retries and errors safely.
Webhook and API endpoints remain part of the customer security boundary.
Customers remain responsible for the appropriateness, authorization and intended recipients of their communications.
If you believe you have identified a security issue affecting Zayloft, provide enough technical detail for the concern to be reviewed without publicly disclosing sensitive exploit information.
Affected URL or service, reproduction steps, observed behavior, expected behavior and relevant timestamps.
Do not access data that is not yours, disrupt production services or publish exploit details before the issue can be reviewed.
Send security-related reports to support@zayloft.com with “Security report” in the subject line.
Include request IDs, screenshots or logs when useful, but remove secrets, passwords and unrelated personal data.
Use scoped access, protected secrets, tenant boundaries, signed events, secure transport and auditability as normal parts of how communications and authentication are operated.
For security or technical enquiries, contact support@zayloft.com.