Home Integrations Integration Security Controls

Integration Security Controls

Last updated on Apr 01, 2026

GrowerIQ provides layered security controls for every integration. Apply the principle of least privilege: grant only the access an integration needs, restrict where it can connect from, and limit how often it can call the API.

In this article


Scopes: What Can an Integration Access?

Scopes define which areas of GrowerIQ an integration is allowed to read or write. Assign scopes when creating the integration and adjust them at any time.

Category What It Covers Sensitivity
Inventory Lots, batches, plants, rooms, locations, transfers, destruction Operational
Consumables Consumable lots and classes Operational
Orders Orders, shipments, manifests Operational
SKUs Product definitions, price tables Operational
Equipment Equipment records: sensors, controllers, actuators, monitors Operational
Sensors Batch-ingest sensor readings: temperature, humidity, CO2 Operational
Taxonomies Varieties, categories, equipment types Operational (read-only)
Compliance CAPAs, deviations, recalls, compliance reports Regulatory
Reports Generate and download reports Operational
Quality SOPs, colour grades, quality data Operational (read-only)
Finance Transactions, invoices, taxes Financial
CRM Customer accounts and contacts PII
Tasks Tasks, comments, assignments Operational
Activities Activity log entries Operational (read-only)
Webhooks Webhook subscription management Administrative

Principle of least privilege

Fewer scopes means a smaller blast radius if credentials are compromised. Grant only the scopes your integration actively uses. An ERP sync that reads inventory and orders does not need access to CRM or Finance.

Scope changes on active integrations take effect immediately and are recorded in the audit log. Removing a scope from a live integration causes any subsequent API calls requiring that scope to return 403 Forbidden.


Rate Limits

Rate limits protect GrowerIQ from runaway integrations and ensure fair resource sharing across all connected systems.

  • Default limit: 60 requests per minute (RPM)
  • Configurable range: 1 to 10,000 RPM
  • Enforcement: When an integration exceeds its limit, the API returns 429 Too Many Requests until the window resets.

Every API response includes rate-limit headers so your integration can self-throttle:

Header Description
X-RateLimit-Limit Maximum requests allowed per window
X-RateLimit-Remaining Requests remaining in the current window
X-RateLimit-Reset Unix timestamp when the window resets

To adjust an integration's rate limit, open the integration detail page in Administration > Integrations and update the Rate Limit field. You can also contact GrowerIQ support to request a temporary increase for data migration or backfill scenarios.

Design for 429 responses

Build retry logic into every integration. When you receive a 429, read the X-RateLimit-Reset header and wait until the window resets before retrying. Exponential backoff with jitter is recommended for high-throughput integrations.


IP Allowlisting

IP allowlisting restricts API access to requests originating from specific network addresses. When enabled, any request from an IP not in the allowlist receives 403 Forbidden.

  • Format: CIDR notation (e.g., 10.0.0.1/32 for a single IP, 192.168.1.0/24 for a subnet)
  • Maximum entries: 50 per integration
  • Default: Disabled (all IPs permitted)

To configure an allowlist:

  1. Navigate to Administration > Integrations and open the integration.
  2. Locate the IP Allowlist section.
  3. Add one or more CIDR entries.
  4. Save.

Best suited for static IPs

IP allowlisting is most useful for integrations running on infrastructure with predictable, static IP addresses: on-premises ERP systems (SAP, Dynamics), cloud services with published IP ranges, or VPN exit nodes. For serverless or dynamic-IP environments, rely on API key authentication and scope restrictions instead.

Lock yourself out? Remove the entry.

If an integration stops working after enabling IP allowlisting, verify that the calling system's egress IP matches an entry in the allowlist. Cloud providers sometimes rotate IPs without notice. Remove or update the stale entry to restore access.


Integration Security tab showing IP address restriction toggle and lifecycle action buttons

Responding to a Security Incident

If you suspect an integration's credentials have been compromised or you observe unexpected API activity, follow these steps:

1. Suspend immediately

Open the integration in Administration > Integrations and click Suspend. Suspension takes effect instantly, invalidating the API key and blocking all requests. Configuration and logs are preserved.

2. Review API logs

Navigate to QA > Integration API Logs and filter by the affected integration. Look for:

  • Unusual request volumes or patterns
  • Requests from unexpected IP addresses
  • Access to scopes the integration should not be using
  • Requests outside normal operating hours

3. Check webhook delivery logs

If the integration has webhook subscriptions, review the delivery log for the subscription. Verify that payloads were not redirected to an unauthorized endpoint.

4. Regenerate credentials

Generate a new API key and, if applicable, a new webhook signing secret. Store the new credentials in your secrets manager before distributing them.

5. Contact GrowerIQ support

Share the relevant Request IDs from the API logs with GrowerIQ support. The support team can correlate server-side logs and help determine the scope of the incident.

6. Reactivate with new credentials

Once the investigation is complete and new credentials are deployed, a different administrator (not the one who suspended) must reactivate the integration. This dual-control requirement ensures no single person can suspend and reactivate without oversight.

Suspension is non-destructive

Suspending an integration does not delete its configuration, scope assignments, webhook subscriptions, or logs. Only the API key is invalidated. After reactivation with new credentials, the integration resumes normal operation.


Quarterly Review Checklist

Schedule a quarterly review of all active integrations. Use this checklist to ensure your security posture stays current:

  • [ ] Are all active integrations still in use? Suspend or delete any that are no longer needed.
  • [ ] Do assigned scopes still match actual usage? Remove scopes that are no longer required.
  • [ ] Are credentials held only by authorised personnel? Rotate credentials if team members have changed.
  • [ ] Are rate limits appropriate for current traffic patterns? Adjust up or down based on API log data.
  • [ ] Is IP allowlisting enabled for integrations with static infrastructure? Add it where feasible.
  • [ ] Have partner contacts changed? If the integration is managed by a third party, confirm that only current contacts hold credentials and rotate if needed.

Export a summary for your SOC 2 auditor

The quarterly review checklist aligns with SOC 2 access-review requirements. Document your findings and retain them alongside your other compliance artefacts.