--- title: Limits and Best Practices | SafetyKit description: Operational guidance for reliability, throughput, and data quality. --- ## Recommended practices - **Use stable IDs:** reuse the same `id` for updates to the same entity. - **Prefer webhooks for completion:** use polling for reconciliation and monitoring. - **Keep payloads consistent:** maintain field names and types per namespace. - **Send complete context:** richer objects improve review quality. - **Use import flow for very large datasets:** avoid overloading real-time ingest calls. As your volume grows, these conventions reduce incident risk and make decisions easier to trace from ingest to final action. ## Data quality guidance - keep media URLs publicly retrievable at processing time - avoid placeholder text (“N/A”, `""`, etc) in key fields (`title`, `description`, etc.) - include enough context fields for policy decisions ## Reliability guidance - retry transient failures (`429`, `500`, `503`) with backoff - treat ingest as asynchronous fire-and-forget requests - store `requestId` for auditability and reconciliation - implement idempotent webhook handlers so duplicate delivery retries do not produce duplicate side effects ## Security and privacy - keep API keys server-side only - verify webhook signatures on every event For authentication details, see [Authentication](/authentication/index.md). For webhook security, see [Verifying Signatures](/webhooks/verifying-signatures/index.md). For endpoint-level behavior and response schemas, see the [API Reference](/api/index.md).