TLS everywhere
Every connection to EDISQ — browser, API, webhook delivery — is encrypted with TLS. HTTP requests redirect to HTTPS and HSTS is enforced. Partner links run over encrypted transports: AS2 with signed and encrypted payloads, or SFTP.
Tenant isolation, enforced in the data layer
Every tenant-owned row carries a tenant ID, and per-tenant query filtering is applied globally at the data-access layer — every query is scoped to your tenant before it runs, not by convention in application code. Cross-tenant writes are rejected at save time. Isolation isn't a code-review promise; it's a mechanism.
Immutable payload storage
The original EDI payload of every document — exactly the bytes sent or received — is stored write-once and never edited. Reprocessing creates new state; it never rewrites history. When a partner disputes what was sent, the answer is the stored payload, not a reconstruction.
Azure infrastructure
EDISQ runs on Microsoft Azure. Data is encrypted at rest by the platform, and infrastructure is defined as code — environments are reproducible, not hand-configured.
Least privilege
Service identities get the narrowest role that does the job, secrets live in managed configuration rather than code, and production access for people is limited to those who operate it. API keys are tenant-scoped, hashed at rest, and revocable by you at any time.
Audit logging
Administrative and support actions — including any internal impersonation used to help you debug — are written to an audit log with actor, tenant, action, and timestamp. Document lifecycle events keep their own trail on each document.
Responsible disclosure
Found a vulnerability? Report it to damani.zulfiqar@gmail.com with steps to reproduce. We will acknowledge your report, keep you posted while we fix it, and credit you if you want credit. Please don't access other tenants' data while testing — a proof of concept against your own account is enough.