Wie wir deine Daten schützen
Was bei jeder Anfrage an die API läuft, wie der Katalog vor dem Massenkopieren geschützt wird, wie Schlüssel und Konto gesichert sind und welche Richtlinien dahinterstehen. Die Zahlen auf dieser Seite stammen aus der Konfiguration, die sie durchsetzt.
- 118/135Operationen brauchen einen Schlüssel
- 17ohne Schlüssel erreichbar
- 33antworten mit 304 Not Modified
- 8weisen zu große Bodies ab
- 39dokumentierte Fehlergründe
- 4Pläne, jeder mit eigenem Limiter
Was jede Anfrage durchläuft
Die API ist eine Pipeline, und die Reihenfolge ist der Vertrag: Eine Anfrage wird identifiziert, gehärtet, gedrosselt und gezählt, bevor ein Handler läuft; auch ein gecachter Lesezugriff durchläuft jede Stufe. Jede Zeile nennt, was ein Aufrufer beobachten kann.
- 1Nur TLS
Strict-Transport-SecurityJeder Endpunkt ist HTTPS. Reines HTTP wird umgeleitet, und HSTS mit Preload sagt Browsern, es nie zu versuchen.
- 2Härtungs-Header
X-Content-Type-OptionsX-Frame-OptionsReferrer-PolicyContent-Sniffing, Framing und Referrer-Leaks sind auf jeder Antwort abgeschaltet. Von der API gelieferte SVGs tragen eine sandboxende
Content-Security-Policy, weil ein von unserem Origin geöffnetes SVG sonst Skript mit unserer Autorität ausführen würde. - 3Origin-Allowlist
Access-Control-Allow-OriginBrowser dürfen die API nur von Origins aufrufen, die wir benennen. Alles andere bekommt kein
Access-Control-Allow-Origin, und der Browser verwirft die Antwort. - 4Body-Obergrenze
413 PAYLOAD_TOO_LARGEEin Request-Body über 1 MB wird anhand von
Mehr lesenContent-Lengthabgewiesen, bevor ein Byte gelesen wird; nichts wird gespeichert, und die Anfrage kann geteilt neu gesendet werden. - 5Notbremsen und Client-Schutz
403 CLIENT_BLOCKED503 MAINTENANCEEine Sperrliste nach Adresse, ein Schutz gegen leere oder bekannte Scraper-User-Agents und Betreiberschalter für Wartung, Nur-Lesen und Vollstopp. Die Konsole liegt bewusst außerhalb, damit ein Ausfall immer abgeschaltet werden kann.
Mehr lesen - 6Die Website ist kein Kunde
gunspec.io erreicht die API über einen Proxy, der ein serverseitiges Token anhängt, das der Browser nie sieht. Sie hat keinen API-Schlüssel und keine Stufe, also kann sich niemand das Credential der Seite leihen, um den Katalog kostenlos zu lesen.
- 7Signierter Browser-Verkehr
403 ORIGIN_BLOCKEDEine Browser-Anfrage, die einen GunSpec-Origin behauptet, aber keinen Schlüssel trägt, muss mit einem HMAC signiert sein, der nach 5 Minuten verfällt. Eine unsignierte wird abgewiesen statt anonym bedient.
Mehr lesen - 8Dein Schlüssel
401403Gesendet als X-API-Key or Authorization. Ein fehlendes, fehlerhaftes oder abgelaufenes Credential ist ein
Mehr lesen401; ein gültiges ohne Berechtigung ein403, und der Fehler sagt welches, damit du nie einen Schlüssel rotierst, der in Ordnung war. - 9Minutenlimit
429 RATE_LIMITEDRetry-AfterEin Cloudflare-Rate-Limiter pro Plan, nach Schlüssel. Darüber sagt
Retry-After, wie lange zu warten ist.- Explorer
- 10/min
- Builder
- 60/min
- Studio
- 120/min
- Enterprise
- 300/min
- 10Tagesgrenze
429 DAILY_CAP_EXCEEDEDEine zweite Obergrenze pro Schlüssel, zurückgesetzt um Mitternacht UTC. Eine
304-Revalidierung zählt nicht dagegen.- Explorer
- 50/day
- Builder
- 2,000/day
- Studio
- 10,000/day
- Enterprise
- 50,000/day
- 11Paginierungs-Burst
429 PAGINATION_BURST10 oder mehr aufeinanderfolgende Seiten innerhalb von 90 Sekunden werden abgewiesen. Ein Mirror sollte ein größeres
Mehr lesenper_pagenutzen, oder Webhooks. - 12Seitentiefe
403 PAGINATION_DEPTH_EXCEEDEDWie weit ein Plan in eine Liste blättern darf. Filter grenzen eine Liste ein; tiefes Blättern zählt sie auf.
- Explorer
- 5 pages
- Builder
- 25 pages
- Studio
- ∞
- Enterprise
- ∞
- 13Feldformung
Antworten werden pro Plan an einer Stelle geformt, nach dem Handler. Der Gratisplan sieht 7 Listenfelder und eine Detail-Zusammenfassung; bezahlte Pläne volle Spezifikationen.
Mehr lesen - 14Conditional Requests
ETag304 Not Modified33 Lese-Operationen antworten auf ein passendes
Mehr lesenIf-None-Matchmit304 Not Modified. DasETagist ein Hash des exakten Bodys für deinen Plan, nie des Datensatzes, sodass ein geteilter Cache nie den Body eines Plans an einen anderen liefert. - 15Edge-Cache nach Plan
Vary: X-API-KeyÖffentliche Lesezugriffe werden am Edge gecacht, nach Zugriffsstufe und Aufruferart. Jede
Mehr lesen/v1-Antwort trägtVary: X-API-Key, damit kein Proxy dazwischen eine Antwort über Credentials hinweg wiederverwendet. - 16Request-ID
X-Request-IdJede Antwort trägt
Mehr lesenX-Request-Id, jeder Fehler wiederholt sie alsrequest_id. Nenne sie dem Support; sie findet die Anfrage in unseren Logs.
Den Katalog vor dem Kopieren schützen
Der Datensatz ist das Produkt. Diese Grenzen machen eine Vollkopie in jedem Plan teuer, während eine gewöhnliche Integration sie nie erreicht.
Feldformung
Listenzeilen des Gratisplans tragen 7 Felder, seine Detailansicht 19; bezahlte Pläne erhalten volle Spezifikationen. Einmal angewandt, nach jedem Handler, damit ein neuer Endpunkt es nicht vergessen kann.
idnamemanufacturerIdmanufacturerupdatedAtversionprovenance
Seitentiefe
Die tiefste Seitennummer, die ein Plan anfordern darf.
- Explorer
- 5 Seiten
- Builder
- 25 Seiten
- Studio
- ∞
- Enterprise
- ∞
Tagesgrenze
Zusätzlich zum Monatskontingent und dem Minutenlimit.
- Explorer
- 50 pro Tag
- Builder
- 2,000 pro Tag
- Studio
- 10,000 pro Tag
- Enterprise
- 50,000 pro Tag
Gesamtzahlen
Ob eine Listenantwort sagt, wie viele Datensätze passen. Im Gratisplan verborgen, damit die Größe des Datensatzes daraus nicht abgeleitet werden kann.
- Explorer
- —
- Builder
- ✓
- Studio
- ✓
- Enterprise
- ✓
Paginierungs-Burst
10 oder mehr aufeinanderfolgende Seiten innerhalb von 90 Sekunden werden mit 429 abgewiesen. Filter und größere Seiten sind der Weg, mehr zu lesen; Webhooks der Weg, aktuell zu bleiben.
So funktioniert PaginierungAssets und SVGs
Line-Art- und Modell-URLs erreichen API-Schlüssel als absolute, abrufbare URLs und die Website als verschleierte Pfade, die nur ihr eigener Decoder liest. Jedes von der API gelieferte SVG ist gesandboxt:
- Content-Security-Policy
default-src'none'style-src'unsafe-inline'img-srcdata:sandbox- gesetzt, kein Wert
Deine Schlüssel, Sitzungen und unsere Betreiber
Die Kontoseite: wie ein Credential gespeichert, begrenzt und geprüft wird.
| Was | Wie |
|---|---|
| API-Schlüssel | Gesendet als X-API-Key, Authorization, nur über TLS. Im Profil erstellen, deaktivieren und widerrufen; der Widerruf wirkt sofort. Ein deaktivierter oder abgelaufener Schlüssel antwortet 401 mit einem Grund, der sagt welches. |
| Erkennung geteilter Schlüssel | Request-Header werden zu einem Client-Fingerabdruck gehasht. Teilen sich 3 oder mehr Schlüssel einen Fingerabdruck, wird das Konto zur Rotation markiert. Die Prüfung läuft nach der Antwort, ohne Latenzkosten. |
| Website-Sitzungen | Getrennt von API-Schlüsseln und von der Mitarbeiterkonsole. Das Cookie ist HttpOnly, Secure und auf unsere Domain begrenzt; Schreibzugriffe eines angemeldeten Kontos sind auf 60 pro Minute begrenzt; eine ablaufende Sitzung ist ein 401 SESSION_EXPIRED, kein stiller Logout. |
| Anmelde-Drosselung | 10 Versuche pro Adresse und 1 Stunde auf der Login-Oberfläche, damit Credential Stuffing die Versuche ausgehen, bevor die Vermutungen ausgehen. |
| Versiegelte Geheimnisse | Zugangsdaten, die Betreiber in die Konsole einfügen, werden mit authentifizierter Verschlüsselung versiegelt, bevor sie die Datenbank berühren; ein geleaktes Backup ist kein geleaktes Konto. |
| Mitarbeiter-Audit-Trail | Jede ändernde Mitarbeiteraktion landet in einem Append-only-Log: wer, was, wann, von wo. Request-Bodies werden nie gespeichert, damit das Log kein Geheimnis verraten kann. |
| Kill-Switch, Wartung, Nur-Lesen | Betreiber können die öffentliche API anhalten, ohne die Konsole zu berühren. Du siehst ein 503 mit Retry-After und benanntem Grund. Siehe die 503-Gründe. |
| Webhook-Zustellungen | Jede Zustellung ist signiert: X-Webhook-Signature ist t=TIMESTAMP,v1=HMAC_SHA256_HEX(TIMESTAMP + "." + BODY), über ein Geheimnis, das nur du und wir halten. Fehlgeschlagene Zustellungen werden nach 1, 5, 15 Minuten wiederholt. Prüfanleitung.
|
Header auf jeder Antwort
Von der API auf allen Routen gesetzt; die Website setzt dieselbe Familie plus eine eigene Content-Security-Policy und Permissions-Policy.
| Header | Wert |
|---|---|
Strict-Transport-Security | max-age=31536000; includeSubDomains; preload |
X-Content-Type-Options | nosniff |
X-Frame-Options | DENY |
Referrer-Policy | strict-origin-when-cross-origin |
Cross-Origin-Resource-Policy | cross-origin |
Vary | X-API-Key, Accept-Encoding |
Datenschutz und Compliance
Der Katalog sind öffentliche technische Daten ohne personenbezogene Informationen. Personenbezogen ist, was ein Konto braucht: eine E-Mail-Adresse, ein Plan, Nutzungsdaten. So wird damit umgegangen.
- DSGVO und Australian Privacy Principles. Buun Group ist ein australisches Unternehmen; die Datenschutzerklärung nennt deine Rechte auf Auskunft, Berichtigung, Löschung, Übertragbarkeit und Widerspruch nach beiden.
- Auftragsverarbeitungsvertrag. Online veröffentlicht; eine gegengezeichnete Fassung mit den EU-Standardvertragsklauseln gibt es auf Anfrage.
- Meldung von Datenpannen. Ohne unangemessene Verzögerung, sobald wir davon erfahren, mit dem, was du für deine eigenen Pflichten brauchst.
- Internationale Übermittlungen. Daten werden in Australien und den USA auf Cloudflares Netz verarbeitet, unter Standardvertragsklauseln.
- Aufbewahrung. Kontodaten werden innerhalb von 30 Tagen nach Kontolöschung gelöscht. API-Nutzungslogs bleiben 90 Tage, Abrechnungsunterlagen 7 Jahre, wie das Steuerrecht verlangt.
- Opt-in-Analytics. Analytics lädt erst nach Zustimmung im Cookie-Banner. Authentifizierungs- und Sicherheits-Cookies sind die einzigen zwingend nötigen.
- Datensparsamkeit. Kartendaten berühren unsere Systeme nie; Stripe hält sie. Fehlerlogs enthalten einen Code und eine Request-ID, nie einen Request-Body.
- Wir crawlen selbst höflich. Wo unsere Pipelines eine fremde Seite abrufen, beachten sie
robots.txtund ziehen sich bei Ablehnung zurück, pro Origin gecacht.
Wer Daten verarbeitet
| Auftragsverarbeiter | Rolle | Region |
|---|---|---|
| Cloudflare | hosting, edge compute, database, object storage, security | US and global |
| Stripe | payments and subscription billing; card details never touch us | US and Ireland |
| Google Analytics | opt-in analytics, loaded only after consent | US |
| Resend | login codes and account email | US |
| Sentry | error reports from the website only; the API never reports to it | US |
Die Richtlinien
- Datenschutzerklärung
- Auftragsverarbeitungsvertrag
- Auftragsverarbeiter
- Cookie-Richtlinie
- Schwachstellenmeldung
- Trust Center
- Inhalte entfernen
- DMCA & Urheberrecht
- Nutzungsbedingungen
Eine Schwachstelle gefunden? Die Sicherheitsseite sagt, wie du sie meldest, oder schreib an security@gunspec.io.