Guide: Security Review Pack

This page is the short-form security review material for design partners and controlled pilot customers. It is not a certification report, SOC 2 report, DPA, or legal promise. It is the current technical baseline, the known limits, and the workloads Syllecta is willing to accept before broader enterprise compliance work is complete.

Summary

Syllecta is built around webhook and retryable-operation reliability. The security model is metadata-first: routine recovery should work from provider, event id, status, timing, retry state, failure reason, callback result, and correlation ids. Payload content is treated as sensitive debug/replay data with explicit storage policy and retention boundaries.

Current production baseline:

  • Supported provider signatures are verified before forwarding.
  • Tenant users are scoped to tenant data.
  • API keys are one-time reveal and stored as hash-backed records.
  • Webhook provider secrets are masked in APIs/UI and encrypted at rest for new writes.
  • Dashboard payload views are redacted.
  • Tenant payload policy can be metadata_only, redacted_payload, or raw_debug_window.
  • Raw replay is blocked when raw payload is not stored or the debug window expired.
  • Production callback URLs must be public HTTPS and cannot resolve to private, loopback, link-local, or reserved IP ranges.
  • Public webhook ingress has body caps, content-type checks, malformed JSON handling, rate limits, and structured security events.
  • API traffic has a baseline app-level shield: scanner-path fast rejection, body/timeouts, security headers, private surface no-index headers, replay throttles, and dashboard query bounds.
  • Retention jobs scrub operational debug data but do not delete financial ledgers, audit logs, users, tenants, API keys, webhook secrets, settings, or plans.

Questionnaire Answers

TopicCurrent answer
Data storedTenant/account records, users, API key metadata, webhook secret metadata, webhook operational metadata, optional webhook payload/debug data depending on tenant payload policy, callback delivery status, job history, audit logs, usage/billing records, and operational security events.
Payload storagemetadata_only stores no payload body. redacted_payload stores a redacted payload/header view. raw_debug_window stores raw payload/headers temporarily for replay/debug and exposes redacted views to the dashboard.
Data minimizationProduct workflows are designed to work from operational metadata first. Customers should avoid sending card data, passwords, tokens, session cookies, long-lived secrets, full customer profiles, or unnecessary personal data.
Encryption in transitBrowser, API, provider webhook, and callback traffic should use HTTPS/TLS in production.
Encryption at restProduction database, queue, volume, and backup encryption posture must be confirmed as part of production readiness and customer agreement. Webhook secrets are encrypted at the application layer for new writes.
Secret handlingAPI keys are one-time reveal and hash-backed after creation. Webhook secrets are masked in tenant/admin APIs, rejected when obviously weak, encrypted for new writes, and exposed only to the internal verification path.
Access controlsTenant users are scoped to their tenant. Admin/super-admin access is reserved for operational, billing, and security work. Support access should be tenant-scoped, reasoned, time-limited, and audit logged.
Audit logsCredential changes, tenant/user changes, replay actions, support access, retention changes, and sensitive operational actions should be audit evidence. Generic retention cleanup does not delete audit logs.
RetentionRaw webhook payloads default to a short debug window. Webhook metadata, synthetic events, simulations, job history, reconcile diagnostics, and financial/audit records have separate retention classes documented in the data-retention guide.
Traffic protectionSecurity throttles are separate from plan quotas. Obvious scanner routes are rejected before app routing, invalid webhook traffic is dropped before queue/storage, valid high-volume traffic should use tenant/provider sizing and queue/backpressure rather than one global cap.
Incident reportingVulnerability reports use the public vulnerability disclosure page. Customer-impacting incidents use the agreed pilot/support channel until binding support terms are finalized.
SubprocessorsCurrent subprocessor/data-flow baseline is documented under Legal > Subprocessors. Customer-specific notice periods, regions, and DPA exhibits require written agreement.
Compliance statusSyllecta does not currently claim SOC 2, ISO 27001, HIPAA, PCI, or GDPR compliance certification. Compliance packaging and formal DPA review are contract work for larger regulated deployments.
Production limitationsNo public claim is made for customer-managed keys, static outbound IPs, audited backup isolation, formal restore SLA, regulated workload certification, or unlimited traffic capacity. These must be reviewed before accepting those workloads.

Data Flow

text
Provider
  -> Cloud API webhook ingress
  -> signature verification, body/content-type/rate checks
  -> dedupe and normalized event
  -> queue: log job + forward job
  -> Backoffice storage: metadata + payload according to tenant policy
  -> forward worker callback delivery
  -> tenant application
  -> dashboard: event status, redacted payload view, retry/replay controls
StepWhat exists thereRaw payload?Redaction?Secrets used?
Provider request to Cloud APIHTTP headers/body, provider signatureYes, in request memoryNoProvider signing secret is fetched for verification
Ingress validationBody cap, content-type, malformed JSON, rate-limit and signature checksYes, only while processingNoWebhook secret used by adapter verification
Queue log jobEvent metadata, headers/body required for persistenceDepends on tenant policy and suspended statePolicy-aware persistence happens in BackofficeNo customer secret should be exposed to queue payloads
Queue forward jobNormalized event and delivery target contextYes when forwarding a real stored eventNo, callback receives normalized provider payloadCallback URL config used for delivery
Backoffice storageEvent metadata and optional payload/debug recordmetadata_only: no. redacted_payload: no raw. raw_debug_window: yes until expiryRedacted payload copy is stored/exposed for UIWebhook secrets are encrypted/masked outside verification path
Callback deliveryNormalized JSON sent to tenant callback endpointProvider payload may be included inside normalized eventNo customer-side redaction is applied at deliveryNo signing secret is sent
DashboardStatus, timing, reason, correlation id, payload tabsNo raw payload by default dashboard APIYes, routine views use redacted payload/header dataSecrets are masked
Manual replayStored raw payload is re-normalized and re-enqueuedOnly if raw debug window is active and not expiredReplay uses raw data internally; UI remains redactedInternal service auth protects replay endpoint

Suspended tenants are a special path: valid signed webhooks are acknowledged with 2xx, no callback delivery is enqueued, and raw provider payload is not stored. Syllecta records only minimal metadata/status evidence.

Pre-Pilot Checklist

ControlStatusPilot requirement
Callback URL validation and SSRF protectionDoneRequired before any production callback traffic.
Session hardeningDone for current baselineRequired before tenant console access.
Provider verification matrixDoneCustomer must use supported provider modes only.
Retention matrixDoneCustomer must choose payload policy and retention expectations before launch.
Public security and data-protection docsDoneMust be shared during onboarding.
Credential hardeningDone for current baselineAPI keys must be one-time reveal/hash-backed; webhook secrets masked/encrypted for new writes.
Webhook ingress abuse controlsDone for current baselineBody caps, content-type validation, rate limits, and security events must be enabled.
Traffic protection baselineDone for current baselineScanner-path fast rejection, app body/timeouts, private no-index headers, replay rate limits, and query caps must remain enabled.

Decision Log

Ready for controlled pilot:

  • Webhook reliability workloads using supported provider signatures.
  • Retryable/idempotent API operation workloads that do not require regulated-data certification.
  • Payload policies of metadata_only, redacted_payload, or short raw_debug_window after customer review.
  • Production HTTPS callback delivery to public endpoints that pass callback URL safety checks.

Known limitations:

  • No SOC 2, ISO 27001, HIPAA, PCI, or GDPR compliance certification claim.
  • No customer-managed key feature.
  • No guaranteed static outbound IP feature in the first production baseline.
  • No public formal restore SLA or audited backup-isolation report.
  • Dual-secret overlap for smoother webhook secret rotation is still planned.
  • Traffic capacity must be sized and tested for the specific customer workload before high-volume launch.

Not accepted for early customers without a written review:

  • Payloads containing card numbers, CVC/CVV, passwords, access/refresh tokens, session cookies, long-lived secrets, full customer profiles, or unnecessary personal data.
  • HIPAA, PCI, or other regulated workloads that require formal certification or signed compliance commitments.
  • High-volume spike workloads that have not been load-tested and rate-limit-sized.
  • Private-network callback destinations, localhost callbacks, or callbacks that rely on bypassing SSRF protections.
  • Workloads that require raw payload retention beyond the configured retention policy.

Related Pages