PHP SDK für die hightrusted CAPTURE API
Find a file
2026-04-25 12:04:00 +02:00
CONTRIBUTING.md docs: cross-links updated to 3-level structure 2026-04-25 12:04:00 +02:00
LICENSE Initial commit 2026-04-25 09:04:16 +00:00
README.md docs: cross-links updated to 3-level structure 2026-04-25 12:04:00 +02:00
SECURITY.md docs: cross-links updated to 3-level structure 2026-04-25 12:04:00 +02:00

hightrusted CAPTURE — PHP SDK

Status: v0.1 Preview — API stabil, SDK in aktiver Entwicklung

Offizielles PHP-SDK für die hightrusted CAPTURE API — forensische Web-Captures mit qualifiziertem Zeitstempel nach RFC 3161 / eIDAS Art. 41.

Made in Germany. Server in Deutschland. DSGVO-nativ. Kein US-Cloud-Anbieter in der Verarbeitungskette. Quelloffen unter MIT-Lizenz.

Was die CAPTURE API tut

Sie nimmt eine URL entgegen, rendert die Seite vollständig (inkl. JavaScript), liefert sie als PDF/A zurück und versieht das Ergebnis mit einem qualifizierten Zeitstempel. Das Ergebnis ist gerichtsverwertbar und Jahre später noch verifizierbar — auch nachdem die Original-Seite längst offline ist.

Anwendungsfälle: Markenrechtsverletzungen dokumentieren, Auftragsbedingungen zum Buchungszeitpunkt sichern, Compliance-Nachweise für Behörden, Beweissicherung durch Anwälte und Sachverständige.

Installation

composer require hightrusted/capture

Quickstart

<?php
use Hightrusted\Capture\Client;

$client = new Client(['api_key' => 'ht_live_...']);

// Synchron — wartet bis zu 30 s auf das fertige PDF
$capture = $client->capture(['url' => 'https://example.com']);

echo $capture->id . PHP_EOL;
echo $capture->verifyUrl . PHP_EOL;
echo $capture->timestamp->issuedAt . PHP_EOL;

// PDF herunterladen
$capture->download('./beweis.pdf');

Authentifizierung

Bearer-Token mit API-Key. Key-Erzeugung im Dashboard: https://capture.hightrusted.net/dashboard/api-keys

// API-Key direkt
$client = new Client(['api_key' => 'ht_live_...']);

// oder über Umgebungsvariable HIGHTRUSTED_API_KEY
$client = new Client();

Asynchrone Captures + Webhooks

$job = $client->captureAsync([
    'url'         => 'https://example.com',
    'webhook_url' => 'https://your-app.tld/webhooks/capture',
]);
// $job->status === 'queued'

// später, sobald der Webhook capture.ready geliefert hat:
$capture = $client->get($job->id);
$capture->download('./beweis.pdf');

Verify

$result = $client->verify('cap_...');
echo $result->valid ? 'OK' : 'INVALID';   // OK
echo $result->timestamp;                   // 2026-04-25T11:29:40Z

Rate Limits

Limits werden pro API-Key gemessen. Bei Überschreitung: HTTP 429 mit Retry-After-Header. Das SDK respektiert den Header automatisch und retried.

Plan req/min Calls/Monat
Developer 5 100
Starter 30 300
Growth 120 2.000
Scale 600 10.000

Voraussetzungen

  • PHP 8.1 oder höher
  • ext-curl, ext-json
  • guzzlehttp/guzzle (wird via Composer installiert)

Entwicklung

git clone ssh://git@git.hightrusted.net:2222/hightrusted-capture/php.git
cd php
composer install
vendor/bin/phpunit

Roadmap

  • v0.1 — Basis-Client, Verify, Download
  • v0.2 — Retry-Logik, Webhook-Signatur-Verifikation, PSR-18-kompatibel
  • v0.3 — Laravel Service-Provider als separates Package
  • v1.0 — Stabile API, semantische Versionierung

Verwandte Repositorys

Im selben Produkt (hightrusted-capture):

  • openapi — OpenAPI 3.1 Spec (Single Source of Truth)
  • postman — Postman Collection
  • examples — Beispiel-Anwendungen
  • python — Python-SDK
  • node — Node.js-SDK

Plattform-übergreifend (hightrusted):

  • platform — Plattform-Übersicht, Architektur, Produkt-Liste
  • developer-portal — gemeinsame Konventionen, Auth, Errors, Rate-Limits
  • compliance — DSGVO, AGB-Templates, Whitepaper

Support

Lizenz

MIT — siehe LICENSE.


hightrusted GmbHThe European Trust Infrastructure. Made in Germany. DSGVO-nativ. eIDAS-konform.