ALETHIC FOR DEVELOPERS

Your first signal.
Your own application.

Every business follows the same integration path. Create a workspace, choose an available bundle and connect each application as a separate project.

Before you connect

  1. Sign in to your business and confirm an active subscription or pilot.
  2. Create a project for each application and environment. Browser projects need exact HTTPS origins.
  3. Issue a project ingestion key. Save it when it is shown; you can revoke and replace it later.
  4. Copy the collector endpoint from your workspace. Ingestion keys submit diagnostics only. Keep verification API keys on your server.

01 / APPLICATION RELIABILITY

Choose your SDK.

Download the source package for your stack. Each archive contains installation guidance and examples. These packages are distributed directly by ALETHIC; a registry installation is not required.

Flutter

Durable local queue, Dart errors, iOS native crash recovery, Android uncaught exceptions and Android 11+ process-exit evidence.

Download Flutter SDK ↓
Flutter quick start

Extract the Flutter SDK next to your app and add a path dependency:

dependencies:
  alethic_telemetry:
    path: ../alethic-flutter-sdk

Initialize after Flutter bindings and install the error handlers once. If your app already has global error handlers, call captureException from those handlers instead.

WidgetsFlutterBinding.ensureInitialized();
await Alethic.initialize(
  endpoint: Uri.parse(yourCollectorEndpoint),
  ingestionKey: yourProjectIngestionKey,
  release: 'my-app@1.0.0+1',
  environment: 'production',
);
Alethic.installErrorHandlers();
runApp(const MyApp());

Native reports recover on the next launch. The queue keeps at most 50 filtered events for six days, and removes delivered events only after their IDs are acknowledged. iOS requires version 13 or later. Android native-death evidence does not yet include symbolicated C/C++ tombstone stacks.

Browser and Node.js quick start
import { AlethicTelemetry } from './alethic-javascript-sdk/index.mjs';

const client = new AlethicTelemetry({
  endpoint: collectorEndpoint,
  key: projectIngestionKey,
  release: '1.0.0',
  environment: 'production',
});
client.captureException(new Error('Integration check'));
await client.flush();
// Browser applications can also use:
// client.installBrowserHandlers();
Use the diagnostics API directly

POST an authenticated JSON batch to the collector. Preserve event IDs on retries. Send at most 20 events and 200 KB per batch; use small batches for mobile networks.

POST /v1/telemetry
Authorization: Bearer YOUR_PROJECT_INGESTION_KEY
Content-Type: application/json

{"events":[{
  "id":"YOUR_UNIQUE_EVENT_ID",
  "type":"error",
  "message":"Integration check",
  "stack":"",
  "release":"1.0.0",
  "environment":"production",
  "timestamp":"CURRENT_ISO_8601_TIMESTAMP",
  "durationMs":0,
  "traceId":null
}]}

Event IDs must be 16 to 64 letters, digits, underscores or hyphens. Use error, log or span as the type. Read the accepted ID list before removing a queued report. A 429 response means an allowance or access limit was reached.

02 / CLOUD, API & CERTIFICATE SECURITY

Connect the controls you operate.

In Cloud security, connect your Cloudflare zone with a restricted token. Read-only access needs Zone Read, Zone Settings Read, Zone WAF Read and SSL and Certificates Read. TLS changes need Zone Settings Edit; managed firewall deployment needs Zone WAF Edit.

  1. Verify the zone name, TLS mode, certificates and existing rules.
  2. Inspect available managed rulesets and review the traffic impact.
  3. Confirm the exact change. ALETHIC records the prior configuration and checks the result.

Strict TLS requires a valid origin certificate. A managed ruleset can block legitimate traffic. Provider licensing and traffic charges follow your connected account. Disconnecting ALETHIC does not remove protection already configured at the provider.

03 / ENDPOINT SECURITY

Connect a device group.

Use a Wazuh account scoped to the group you want to monitor. Its API must have a trusted HTTPS certificate and a public hostname on port 443. Connect the group, reserve device seats and check the reported agent inventory.

Use Enroll a device in your workspace to register it and retrieve its private key, then follow the operating-system instructions to import the key into the Wazuh agent. Agent installation and policy configuration must be verified on the target device before treating it as protected.

Agent installation documentation ↗

04 / UPTIME & INCIDENTS

Verify, monitor, respond.

Add an HTTPS monitor and publish its ownership challenge at the displayed well-known URL. ALETHIC checks from one region. Two consecutive failures open an incident; a successful check resolves it. Configure a signed webhook for incident and recovery delivery.

Test one failure and recovery in a controlled environment. A certificate warning identifies approaching expiry; it does not issue or renew the certificate.

Verify your integration before release.

Keep raw request bodies, identity documents, payment data, credentials and location trails out of diagnostic messages. SDK filtering reduces accidental exposure and does not replace application-level data minimization.

Verification API and billing documentation →

Cookie and privacy preferences

This includes browser storage, not just cookies. No analytics or advertising trackers are installed.

Necessary Always on

Sign-in security, selected workspace, original-request and payment recovery, and this privacy choice. Turning off optional preferences does not sign you out or erase an unfinished request.

Remember light, dark or system appearance on this browser. Avoid repeating the introduction in this tab. Without permission, these choices work only in page memory.

Your choice is stored on this device for 180 days. Reopen Cookie preferences to change it. Removing optional storage here does not delete account records or sign you out of Google or other providers. Read the storage policy.