Entwicklerdokumentation

Sicherheit & Daten

Verwalten Sie API-Keys und Scopes sicher und prüfen Sie, auf welche Notizen jede Integration zugreifen kann.

Umgang mit API-Keys

  • Der vollständige API-Key (alt_live_...) wird bei der Erstellung nur einmal angezeigt. Alt speichert den ursprünglichen Secret-Wert nicht, daher kann er später nicht erneut angezeigt werden. Erstellen Sie bei Verlust einen neuen Key.
  • Webhook-Signing-Secrets (whsec_...) werden ebenfalls nur einmal angezeigt. Sie werden verschlüsselt gespeichert (AES-256-GCM) und nur zum Signieren ausgehender Zustellungen entschlüsselt – niemals erneut angezeigt. Zum Rotieren legen Sie den Endpunkt neu an; dabei wird ein neues Secret ausgestellt.
  • Bewahren Sie Keys in einem Secret-Manager auf. Betten Sie sie niemals in Client-Code, Mobile-Apps oder Repositories ein.
  • Rotieren Sie über die Konsole: Stellen Sie in derselben Integration einen neuen Key aus, stellen Sie Ihre Systeme um und widerrufen Sie anschließend den alten Key. Der Widerruf greift sofort.
  • Optional können Sie beim Erstellen eines Keys ein Ablaufdatum setzen; abgelaufene Keys werden automatisch abgelehnt.
  • Ein Key pro System. Trennen Sie Staging und Produktion, damit ein Widerruf nicht beide Umgebungen lahmlegt.
  • Es gibt weder eine Sandbox noch einen Testmodus – jeder Key ist ein Live-Key und liest echte Notizen. Verwenden Sie für Staging und Produktion getrennte Integrationen. Wenn Sie einen Empfänger prüfen wollen, ohne auf eine echte Aufnahme zu warten, nutzen Sie das Verification-Event, das beim Anlegen eines Endpunkts gesendet wird, oder „Test senden“ in der Konsole.

Datenzugriff pro Integration

  • Eine persönliche Integration sieht nur die persönlichen Notizen des Inhabers. Eine Teamspace-Integration sieht nur Notizen, die in diesen Teamspace geteilt wurden – niemals die persönlichen Notizen der Mitglieder.
  • Teamspace-Integrationen können nur vom Inhaber des Teamspace angelegt werden.
  • Notizen außerhalb des Bereichs Ihrer Zugangsdaten liefern 404 – die API verrät nicht, ob sie überhaupt existieren.
  • Verlässt eine Notiz Ihren Bereich, erhalten Sie note.deleted (reason: access_lost) und die Notiz verschwindet aus Ihren Listen. Löschen Sie Ihre gespeicherte Kopie oder sperren Sie den Zugriff darauf.

Berechtigungen (Scopes)

BerechtigungErlaubt
notes:readNotizen auflisten und Notiz-Metadaten lesen.
transcripts:readTranskripttext und Sprecherabschnitte lesen.
summaries:readZusammenfassungen lesen (Markdown).
webhooks:manageWebhook-Endpunkte über die öffentliche API anlegen, ändern, löschen und testen.

Vergeben Sie nur die Scopes, die Ihre Integration benötigt. Eine Anfrage, die einen nicht gewährten Scope erfordert, schlägt mit 403 insufficient_scope fehl.

API-Anfragelimits

  • Jeder API-Key erlaubt bis zu 120 Anfragen pro Minute. Bei Überschreitung antwortet die API mit 429 rate_limited und einem Retry-After-Header. Warten Sie mindestens die angegebene Zeit, bevor Sie es erneut versuchen.
  • Nutzen Sie Webhooks und die inkrementelle Synchronisierung mit updated_after, statt die vollständige Notizliste in kurzen Abständen abzufragen.
  • Speichern Sie den ETag aus Antworten zu Notizen, Transkripten und Zusammenfassungen und senden Sie ihn bei der nächsten Anfrage in If-None-Match. Unveränderte Inhalte liefern 304 ohne Response-Body und vermeiden unnötige Datenübertragung.

Datenschutz

  • Transkripte und Zusammenfassungen sind Nutzerinhalte und können personenbezogene Daten enthalten. Holen Sie nur, was Ihre Integration wirklich braucht, und schützen Sie, was Sie speichern.
  • Berücksichtigen Sie Löschungen. Bei note.deleted löschen Sie unabhängig vom Grund Ihre gespeicherte Kopie oder sperren den Zugriff darauf. Prüfen Sie regelmäßig auch die vollständige Notizliste, falls Sie ein Event verpasst haben.
  • Webhook-URLs müssen öffentliche HTTPS-Endpunkte sein. Private Adressen, Loopback-Adressen und Cloud-Metadaten-Adressen werden abgelehnt, Redirects nicht verfolgt.
  • Der API-Zugriff setzt ein aktives Abonnement im Workspace der Integration voraus; ohne Abonnement scheitern Requests mit 403 plan_required.
  • Wie Alt selbst mit Nutzerdaten umgeht, steht in unserer Datenschutzerklärung.