Security review

Ivorycom runs on a federal-portal contract — every marketplace submission carries a security & app review packet, recorded immutably with the review decision.

What a submission requires

componentrequirement
Demo video3–10 minute walkthrough (https link): install → core flows → uninstall. Reviewers watch it before touching your app.
Sandbox attestationYou attest the exact version was installed and verified in a sandbox environment (install, behaviour, one-click uninstall).
Security questionnaireTen questions; four are mandatory attestations (below).
App questionnairePurpose, complete data flows, and step-by-step reviewer test instructions (+ optional test credentials).

Mandatory attestations (non-negotiable)

Disclosure questions

questionwhat reviewers do with it
Do you store platform data? What, where, retention?Checked against your declared data flows and the listing description.
Deletion-on-uninstall window (0–90 days)Held against the uninstall-cleanup contract; 0 is the strongest answer.
Sub-processors (name, purpose, location)Surface in the review record; tenants under data-residency constraints rely on this.
Compliance certifications (SOC 2, ISO 27001, FedRAMP, HIPAA, GDPR DPA)Not required to publish, but weighed for apps requesting write scopes.
Data residency regionsRecorded verbatim in the review record.
Vulnerability disclosure URLRecommended; its absence is noted in review.

The pipeline end-to-end

submit (manifest + review packet)
  → automated certification          # schema, scopes, graphs, webhook safety
  → review team notified by email    # packet summary + deep link to the queue
  → security & app review (human)    # packet + demo video + test pass
  → published (or changes requested) # decision emailed to the submitter
  → tenant install governance        # scope ack → sandbox → prod → 1-click uninstall

A submission with an incomplete packet is rejected at the door with 422 REVIEW_PACKET_INCOMPLETE and a per-field issue list — nothing enters the queue without its evidence. Example packets ship with the SDK connectors (examples/*/review-packet.json).