



Have any questions? We’re here to help You
Makini is SOC 2 Type 2 compliant and undergoes penetration testing twice annually. We use industry-standard encryption protocols including TLS 1.2+ for data in transit and AES-256 for data at rest. Customer credentials are encrypted using secure key management practices. Our infrastructure follows security best practices including network segmentation, access controls, and regular security audits. For highly regulated industries or customers with strict compliance requirements, we offer self-hosted deployment options that keep all data within your infrastructure. We've successfully met security requirements for enterprises including financial institutions and government contractors.
Data synchronization frequency is configurable based on your requirements. For real-time needs, Makini supports webhook-based synchronization where changes trigger immediate updates. For scheduled syncing, common intervals range from every 15 minutes to daily, depending on data volume and business requirements. The initial sync after connecting a system retrieves historical data based on your configuration—typically 30-90 days of historical records. Subsequent syncs are incremental, retrieving only records created or modified since the last sync. Sync frequency doesn't affect pricing. You can also trigger manual syncs on-demand via API when needed for specific workflows.
All Makini webhooks include a signature header for verification. The signature is an HMAC hash of the webhook payload using your webhook secret as the key. To verify a webhook, compute the HMAC using your secret and compare it to the signature header using constant-time comparison to avoid timing attacks. Never process webhook data without verification, as this could expose your system to forged requests. Your webhook secret is provided when you configure webhooks and should be stored securely. Webhook verification ensures that only legitimate requests from Makini are processed by your application.
Authentication errors (401 status code) typically occur for a few reasons: the API token is invalid or expired, the underlying system credentials have changed, the system requires reauthorization, or the token lacks necessary permissions. First, verify you're including the token correctly in the Authorization header. Check the connection status in the Makini dashboard—if it shows as requiring reauthorization, the customer needs to reconnect. If credentials were recently changed in the source system, you'll need to reconnect to obtain a new token. For persistent issues, check if the system account has sufficient permissions to perform the requested operation. If the problem continues, contact support with the request ID for investigation.
