Skip to main contentPhase 0: Pre-Kickoff
Phase 1: Application Setup & Security Foundation
- Team Access: Invite relevant team members to your Smartcar Dashboard account.
- Subscribe to Updates: Ensure your team subscribes to status.smartcar.com, brandreliability.smartcar.com and product changelogs to stay informed on platform health and updates.
- Environment Setup: Create distinct Test and Production applications in the dashboard with clear naming conventions.
- Credentials: Capture and securely store your
Client ID, Client Secret, and Application Management Token.
- Secret Management: Integrate your
Client Secret into an enterprise secrets management system (e.g. AWS Secrets Manager, Vault). Never commit secrets to version control.
- Connect Configuration: Set each application’s Privacy Policy URL and Logo.
- Redirect URIs: Configure the Redirect URI for each application (ensure they are externally accessible).
- Scope Definition: Define your Vehicle Access Configuration (OAuth scopes) based on the specific signals and commands your application requires.
- Scope Minimization: Strictly enforce Scope Minimization by requesting only the minimum necessary data permissions from the user.
- Brand Select: Confirm and specify which OEM Brands will be displayed to the user and if you want to automatically add any new brands as they become available.
- Compatibility Check: (Enterprise Only) Validate target vehicle compatibility using the Region and Make Compatibility API.
Phase 2: Connect Flow & Conversion Optimization
- User Journey: Determine how your application will funnel users into the Smartcar Connect flow.
- Frontend Implementation: Implement the frontend Connect flow to generate the authorization URL (using
link.getAuthUrl()).
- First Connection: Onboard your first test vehicle and review its data in the Smartcar Dashboard.
- Brand Select: Assess and implement Brand Select functionality (if applicable) to skip the brand selection screen and accelerate the user flow.
- Error Simulation: Validate your application’s error handling by testing with simulated error VINs (e.g., using the
invalid_subscription trigger).
Phase 3: Core Implementation & Token Resilience
- Architecture: Design the backend architecture.
- Webhook Endpoint: Implement a backend endpoint to receive webhook data and error payloads.
- Callback Endpoint: Implement a backend endpoint to receive the authorization code at your Redirect URI.
- Token Exchange: Implement the logic to exchange the authorization
code for an accessToken (valid for 2 hours) and refreshToken (valid for 60 days). This must be done server-side.
- Secure Storage: Securely store tokens in an encrypted backend database. Tokens must never be stored client-side.
- Proactive Renewal: Implement a service to exchange the
refreshToken for a new token pair before the 60-day expiration window closes.
- Atomic Token Rotation: Implement Atomic Token Rotation logic to ensure new token pairs are persisted reliably, preventing race conditions that could invalidate single-use tokens.
- Support Protocol: Establish internal support protocols to handle questions from your vehicle owners (ensure your team acts as Tier 1 support before escalating to Smartcar).
Phase 4: Operational Scale & Error Handling
- Webhooks-First: (If migrating) Shift data ingestion models from polling to a Webhooks-First architecture for real-time scalability.
- Webhook Configuration: Configure Webhook integrations in the Smartcar Dashboard (select triggers, set callback URI).
- Payload Verification: Implement the mandatory callback URI verification logic (responding to the
VERIFY event with the challenge hash).
- User Error Handling: Map Connect errors (e.g.
no_vehicles) to clear, actionable messages for your users.
- Vehicle Error Handling: Handle
VEHICLE_ERROR events and trigger user notifications when specific vehicle owner actions are required to resolve the issue.
- Re-authentication: Implement resolution logic for
ACCOUNT_ISSUE errors by prompting the user to re-authenticate via Smartcar Connect.
- Rate Limiting: Implement Exponential Backoff strategies for retrying API errors (429) and adhere to
Retry-After headers.
Phase 5: Production Readiness Review
- Access Control: Ensure all service-specific IAM roles adhere to the principle of least privilege.
- Secret Management: Verify all secrets are stored and accessed via a dedicated secrets manager.
- Encryption: Ensure data is encrypted at rest and in transit.
- Vulnerability Scanning: Confirm that dependency and vulnerability scans pass with zero critical/high issues.
- Network Security: Configure firewalls/security groups to block unauthorized ports and apply WAF rules where appropriate.
- Logging: Ensure structured logs are successfully ingested for staging and production environments, with configurable log levels.
- Observability: Configure a dashboard to capture essential metrics (Latency, Error Rate, Traffic).
- Alerting: Configure critical alerts to route to your on-call channels.
- CI/CD: Ensure a fully automated build and deployment pipeline is in place for all environments.
- Infrastructure as Code (IaC): The service infrastructure is managed using IaC (e.g., Terraform, CDK).
- Architecture Review Complete: The service architecture has passed the formal review.
- Service Runbook: A complete runbook exists detailing: service owners, quick start, deployment, scaling, and incident response.
- Tagging: Tagging policy is applied to infrastructure.
- Support Review: Review the vehicle owner support approach again and ensure VO’s are not channeled to Smartcar support directly and that Smartcar support is used as Tier 3