โšก

Real-Time Synchronization

Push configuration changes to thousands of instances in under 50ms. No restarts, no cold starts, no downtime. Your app picks up changes instantly via WebSocket connections or efficient polling fallbacks.

<50ms Avg Propagation
99.99% Delivery Rate
0 Required Restarts

WebSocket Native NEW

Bidirectional channels for instant push notifications to your client SDKs.

Conflict Resolution

Automatic merge strategies handle concurrent updates without data loss.

Backpressure Handling

Intelligent throttling ensures slow clients don't block the global update stream.

Offline Queueing

Changes are queued and applied immediately when connectivity is restored.

client-sdk.js
// Listen for live config updates const client = new AppConfig({
  apiKey: "ak_live_...",
  environment: "production"
}); client.on('config:changed', (newConfig, meta) => {   console.log(`Updated at ${meta.timestamp} by ${meta.author}`);   // React to changes instantly   appState.updateTheme(newConfig.theme);   appState.toggleFeature(newConfig.flags); });
๐Ÿ”„

Git-Style Version Control

Every configuration change is versioned, tagged, and immutable. Rollback to any previous state in one click. Supports branching for staging environments and merge requests for production deployments.

One-Click Rollback

Accidentally broke prod? Revert to the last known good config instantly.

Branching Strategy

Create config branches for features, merge them when ready for production.

Diffs & History

Visualize exactly what changed between versions with detailed diff views.

Immutable Archives

Historical configs are stored immutably for compliance and debugging.

curl - api/v3/rollback
# Rollback to a specific version tag curl -X POST https://api.appconfig.json/v3/rollback \\ -H "Authorization: Bearer $TOKEN" \\ -d {
  "environment": "production",
  "target_version": "v2.4.1",
  "reason": "Reverting broken feature flag",
  "propagate": true
}
โœ…

Schema Validation →

Prevent bad configurations from ever reaching your application. Define JSON Schemas for your configs and enforce strict validation on every write operation. Catch typos and type errors before they cause outages.

JSON Schema v2020

Full support for the latest JSON Schema specification with advanced constraints.

Pre-Commit Hooks

Integrate with CI/CD to validate config changes before they are merged.

Type Generation

Auto-generate TypeScript, Go, or Java types from your config schema.

UI Validation

Dashboard form validation prevents users from entering invalid values.

schema.json
{
  "$schema": "http://json-schema.org/draft-2020-12/schema",
  "type": "object",
  "properties": {
    "database": {
      "type": "object",
      "properties": {
        "max_connections": { "type": "integer", "minimum": 1, "maximum": 1000 },
        "host": { "type": "string", "format": "uri" }
      },
      "required": ["host", "max_connections"]
    }
  },
  "additionalProperties": false
}
๐ŸŒ

Multi-Environment Management

Manage configurations for development, staging, QA, production, and canary environments from a single pane of glass. Promote changes safely through your pipeline or override values per environment.

Environment Overrides

Define base configs and override specific keys for each environment.

Promotion Workflow

Safe promotion pipeline ensures configs are validated before hitting prod.

Region Awareness

Sub-segment environments by geographic region for latency optimization.

Isolation

Strict isolation prevents dev changes from accidentally affecting production.

Feature Dev Staging Production
Auto-Promotion โœ“ โœ“ Manual Only
Schema Validation Strict Strict Strict
Audit Logging Disabled โœ“ Immutible
RBAC Open โœ“ Enforced
๐ŸŽฏ

Dynamic Segmentation

Target configurations based on runtime attributes. Roll out features to specific user groups, device types, OS versions, or geographic regions. Perfect for A/B testing and gradual rollouts.

Attribute-Based Rules

Define rules using operators like >, <, contains, and matches.

Percentage Rollouts

Serve new configs to 5%, 25%, or 100% of your traffic base.

User Targeting

Whitelist specific user IDs or beta tester groups for early access.

Fallback Values

Default values ensure the app works even if segmentation fails.

segment-rule.json
{
  "feature": "new_payment_flow",
  "strategy": "percentage",
  "value": true,
  "segments": [
    { "user_id": "beta_group_1", "rollout": 100 },
    { "os_version": ">=14.0", "rollout": 25 },
    { "region": "US-EAST", "rollout": 10 }
  ],
  "default": false
}
๐Ÿ”’

Security & Encryption

Enterprise-grade security by default. All configurations are encrypted in transit and at rest. Secrets are managed via integrated vault providers and never stored in plain text.

AES-256 Encryption

Military-grade encryption for all data stored in our infrastructure.

TLS 1.3

All API traffic is secured with the latest TLS protocols.

Secret Injection

Integrate with AWS Secrets Manager, HashiCorp Vault, or Azure Key Vault.

SOC 2 Type II

Fully certified and compliant for enterprise requirements.

๐Ÿ“‹

Comprehensive Audit Logs

Track every action taken on your configurations. Who changed what, when, and from where. Immutable logs are available for export to SIEM tools like Splunk or Datadog.

๐Ÿ”Œ

SDKs & Integrations

First-class SDKs for every major language and framework. Plug into your existing CI/CD pipelines with webhooks and CLI tools.

JavaScript / TypeScript

npm package with full type safety and React hooks.

Go

Native SDK with low memory footprint and goroutine safety.

Python

Async support and Django/Flask integrations.

CLI

Powerful command-line tool for scripting and automation.

go-sdk/main.go
import ("github.com/appconfig/go-sdk" ) func main() { client := appconfig.New(appconfig.Config{ ApiKey: os.Getenv("APP_CONFIG_KEY"), Env: "prod", FetchRetry: 3, }) ctx := context.Background() config, err := client.Get(ctx) if err != nil { log.Fatal(err) } // Use typed config log.Println(config.Database.Host) }