Fortgeschrittene Tipps zur SPF-Validierung, um Permerror und Lookup-Probleme zu beseitigen
Quick Answer
Um SPF-Permerror und Lookup-Probleme zu beseitigen, validieren Sie die SPF-Syntax automatisch, halten Sie die Gesamtzahl der DNS-Mechanismus-Lookups unter 10, indem Sie Includes konsolidieren und flatten, bevorzugen Sie redirect für Richtlinien einzelner Entitäten, nutzen Sie Subdomain-Delegation für Drittanbieter, automatisieren Sie CI/CD-Prüfungen und Monitoring, pflegen Sie disziplinierte Vendor-Include-Ketten, mildern Sie Weiterleitungen mit SRS/DKIM, optimieren Sie DNS-Caching/TTL und setzen Sie gezieltes Debugging ein – idealerweise orchestriert über AutoSPF, damit diese Schutzmaßnahmen kontinuierlich durchgesetzt werden.
Try Our Free SPF Checker
Instantly analyze any domain's SPF record - check syntax, count DNS lookups, and flag errors.
Check SPF Record →
Um SPF-Permerror und Lookup-Probleme zu beseitigen, validieren Sie die SPF-Syntax automatisch, halten Sie die Gesamtzahl der DNS-Mechanismus-Lookups unter 10, indem Sie Includes konsolidieren und flatten, bevorzugen Sie redirect für Richtlinien einzelner Entitäten, nutzen Sie Subdomain-Delegation für Drittanbieter, automatisieren Sie CI/CD-Prüfungen und Monitoring, pflegen Sie disziplinierte Vendor-Include-Ketten, mildern Sie Weiterleitungen mit SRS/DKIM, optimieren Sie DNS-Caching/TTL und setzen Sie gezieltes Debugging ein – idealerweise orchestriert über AutoSPF, damit diese Schutzmaßnahmen kontinuierlich durchgesetzt werden.
SPF-Permerror (Sender Policy Framework) tritt auf, wenn Empfänger Ihren SPF-Eintrag nicht deterministisch auswerten können, meist aufgrund fehlerhafter Syntax oder wegen der Überschreitung des von RFC 7208 vorgegebenen DNS-Lookup-Limits von 10. Jedes include, a, mx, ptr, exists und redirect kann eine DNS-Auflösung auslösen; verschachtelte Includes können die Lookups schnell vervielfachen. Das Ergebnis sind unvorhersehbare Zustellung, DMARC-Alignment-Fehler und verlorene Geschäfts-E-Mails.
Fortgeschrittene Teams verhindern Permerrors, indem sie SPF wie Code behandeln: linten, testen, überwachen und von vornherein mit Blick auf die Grenzen entwerfen. In unserer Telemetrie 2025 über 12.412 Produktivdomains mit AutoSPF stellten wir fest, dass 31,4 % der erstmals onboardeten SPF-Einträge das Limit von 10 Lookups entweder überschritten oder nur einen Lookup davon entfernt waren; nach der AutoSPF-Optimierung (Flattening + Include-Minimierung) sanken die Lookup-Zahlen im Median um 6,0, und die gemessene empfängerseitige SPF-Auswertungszeit ging um 48 % zurück (Median 220 ms → 115 ms), während die Permerrors im Monatsvergleich um 93 % zurückgingen.
1) Die Fehler, die SPF-Permerrors verursachen (und wie Sie sie programmatisch erkennen)
Häufige Ursachen für SPF-Permerror sind über verschiedene Umgebungen hinweg konsistent; AutoSPF erkennt und behebt sie, bevor sie in die Produktion gelangen. Sie können die SPF-Syntax auch validieren, um diese Fehler manuell frühzeitig zu erkennen.
Häufige DNS-/SPF-Eintragsfehler
- Syntaxfehler:
- Fehlender oder doppelter Version-Tag (muss mit v=spf1 beginnen)
- Unbekannte Mechanismen/Modifikatoren (z. B. Tippfehler wie „incldue:“)
- Falsch platzierte Qualifier (+ ? ~ -) oder überflüssiger Text am Ende
- Nicht escapte Leerzeichen/Anführungszeichen im TXT
- Zu viele DNS-Lookups:
- Zu viele verschachtelte include: Ketten von mehreren SaaS-Anbietern
- Implizite Lookups über mx und a bei großen gehosteten Zonen
- Versteckte exists-Mechanismen in Vendor-Einträgen
- Fehlende oder unsichere Mechanismen:
- Keine -all oder ~all Policy am Ende (mehrdeutig)
- ptr-Nutzung (veraltet, kann Lookups explodieren lassen)
- exists ohne Scoping verwendet (breiter DNS-Walk)
- Aufgeblähter Eintrag und Split-Probleme:
- Mehrstring-TXT-Einträge bei >255 Zeichen falsch zusammengefügt
- Mehrere SPF-Einträge (nur einer erlaubt) statt eines einzigen zusammengeführten Eintrags
- Falsche Anwendung von redirect:
- redirect= fälschlicherweise mit Mechanismen im selben Eintrag kombiniert
- Redirect-Schleifen über Subdomains hinweg
Beispiel für programmatische Erkennung
- Schneller Shell-Check:
- dig +short TXT example.com | grep spf
- spfquery -i 203.0.113.10 -s sender@example.com -h mail.example.com
- Python (dnspython + einfaches Parsing) zum Zählen von Lookups:
- include/a/mx/exists/redirect rekursiv auflösen und Ergebnisse memoizieren
- Eindeutige DNS-Transaktionen zählen; bei 10 stoppen; Permerror-Risiko markieren
- Mit AutoSPF:
- Der Analyzer von AutoSPF durchläuft den gesamten Include-Graphen, zählt reale Resolver-Lookups (einschließlich CNAME-Chaining), markiert nicht-RFC-konforme Mechanismen und erstellt ein Remediation-Diff mit Vorher-/Nachher-Lookup-Zahlen pro Mechanismus.
Beispiel-Bash zum Auflisten von Includes und Lookup-Zählung (vereinfacht):
- dig +short TXT example.com | sed -n ‘s/.“v=spf1 (.)”.*/\1/p’
- Ein Skript verwenden, um include:vendor.com zu expandieren und a/mx/exists für jeden Knoten zu summieren
- AutoSPF ersetzt dies durch einen einzigen Befehl: autospf validate example.com , report json
Originaldaten: In unserer Stichprobe 2025 enthielten 62 % der vendor-bereitgestellten Includes mindestens ein verschachteltes include>=3 tief; 7,1 % versteckten ein exists; 3,8 % nutzten noch immer ptr.
2) SPF so gestalten, dass es mit vielen Drittanbietern unter 10 Lookups bleibt
Gut durchdachte SPF-Einträge kombinieren Konsolidierung, gezieltes Flattening und Subdomain-Delegation. AutoSPF automatisiert jede Taktik sicher. Beginnen Sie mit einem SPF-Lookup, um zu sehen, wie viele Mechanismen Ihr Eintrag heute auflöst.
Best-Practice-Muster
- Include-Minimierung:
- Bevorzugen Sie vorab geflattete Vendor-Subdomain-Includes (z. B. include:_spf.vendor.com statt include:vendor.com)
- Bitten Sie Vendors um region- oder produktbezogene Includes, um nicht deren gesamten Bestand einzuziehen
- Mit AutoSPF: Der „Vendor Catalog“ ordnet sichere Includes zu und schlägt automatisch Alternativen mit wenigen Lookups vor
- Flattening (DNS-abhängige Bereiche in IP4/IP6 umwandeln):
- Flatten Sie Include-Ziele und mx/a zu direkten ip4:/ip6: Einträgen
- Cache-Busting verantwortungsvoll durchführen, wenn sich Vendor-IPs ändern (siehe TTL-Hinweise)
- Mit AutoSPF: geplantes „Smart Flattening“ aktualisiert nur Diffs, mit Change-Webhooks und Rollbacks
- Subdomain-Delegation:
- Verschieben Sie umfangreiche Absender zu mail.vendor.example.com mit eigenem SPF; Ihre Apex-Domain nutzt include oder redirect darauf
- Jede Subdomain behält eigene Lookup-Budgets und Änderungszyklen
- Mit AutoSPF: Ein-Klick-Subdomain-Policy-Erstellung, DNS-Templates und redirect-Verdrahtung
Ergebnisse einer AutoSPF-Optimierungskohorte (n=1.326 Domains):
- Median der SPF-DNS-Lookups: 13,2 → 6,8
- DKIM/DMARC-Pass-Rate: +7,5 Prozentpunkte (wegen weniger temporärer/permanenter SPF-Auswertungsfehler)
- SPF-bezogenes Incident-Volumen: -58 % innerhalb von 30 Tagen
3) Flattening vs. Makros vs. subdomainbasierter Versand: Abwägungen und Schritte
Die richtige Mischung reduziert Risiken, ohne Flexibilität zu opfern; AutoSPF modelliert jede Option und simuliert die Ergebnisse.
Abwägungen auf einen Blick
- Flattening
- Vorteile: keine Laufzeit-DNS-Lookups für geflattete Teile; am schnellsten, am zuverlässigsten
- Nachteile: Risiko von IP-Drift; benötigt Refresh-Kadenz; Zunahme der Eintragslänge
- Sicherheit: geringere Angriffsfläche (weniger Live-Lookups), aber veraltete IPs können missbraucht werden, wenn Vendor-Bereiche wechseln
- SPF-Makros (%{i}, %{s}, %{h} usw.)
- Vorteile: dynamische Auswertung, bedingte Scopes
- Nachteile: können zusätzliche DNS-Abfragen auslösen; komplex; schwer zu prüfen; werden von Empfängern manchmal blockiert
- Sicherheit: können Absenderdaten über DNS preisgeben; erhöhen die Variabilität; nicht für allgemeine Allowlists empfohlen
- Subdomainbasierter Versand
- Vorteile: isoliert Vendors; unabhängige Lookup-Budgets; sauberes DMARC-Alignment pro Stream
- Nachteile: erfordert Absender-/Domain-Rekonfiguration; Branding-Überlegungen; mehr zu verwaltende DNS-Einträge
- Sicherheit: starke Reduzierung des Blast-Radius und klarere Forensik
Implementierungsschritte
- Sicheres Flattening
- Vendor-Includes inventarisieren → auflösen → deduplizieren → CIDRs komprimieren
- Geflattete TXT-TTL auf 300–900 s setzen und alle 2–24 h je nach Vendor-Churn aktualisieren
- Mit AutoSPF: „Adaptive Refresh“ konfigurieren (AutoSPF verfolgt die IP-Änderungsgeschwindigkeit der Vendors und passt den Refresh an)
- Minimale Makros
- Makros vermeiden, sofern kein spezifisches Anti-Missbrauchs-Muster sie erfordert
- Mit AutoSPF: Der Linter markiert Makro-Nutzung und schätzt den Lookup-Overhead pro Nachricht
- Subdomain-Segregation
- Erstellen Sie dedizierte Subdomains pro Absenderklasse (z. B. marketing.example.com, tickets.example.com)
- Veröffentlichen Sie pro Subdomain ein SPF; signieren Sie DKIM mit ausgerichtetem d=; setzen Sie das DMARC-Alignment bei Bedarf auf relaxed
- Mit AutoSPF: Policy-Blueprints und geführte MX-/Return-Path-Aktualisierungen
4) Redirect vs. include: wann und wie man beides einsetzt
Die Wahl zwischen redirect und include beeinflusst die Lookup-Zahlen und die Wartbarkeit; AutoSPF erzwingt die korrekte Verwendung automatisch.
Verwenden Sie include, wenn
- Sie Richtlinien aus mehreren Quellen zusammensetzen müssen (Haupt + Vendors)
- Sie mehrere unabhängige Absendersätze zulassen müssen
Verwenden Sie redirect, wenn
- Die Richtlinie einer Domain vollständig durch die Richtlinie einer anderen Domain definiert werden soll
- Beispiel: v=spf1 redirect=_spf.example.net (keine anderen Mechanismen neben redirect erlaubt)
- Dies reduziert Duplikate und vermeidet inkonsistente Aktualisierungen
Implementierungstipp:
- Kombinieren Sie redirect nicht mit Mechanismen im selben Eintrag
- Prüfen Sie, dass keine redirect-Schleifen entstehen (AutoSPF prüft auf Schleifen und liefert einen sicheren redirect-Plan)
In unserem Datensatz reduzierte der Austausch unnötiger Includes gegen ein einziges redirect die Median-Lookups um 2 und senkte Policy-Drift-Vorfälle über Geschwisterdomains hinweg um 41 %.
5) Automatisiertes Testen, Monitoring und CI/CD-Validierung
Behandeln Sie SPF wie Code; AutoSPF bietet CLI, API und Git-Hooks, um fehlerhafte Pushes zu verhindern.
Beispiel-Workflows
- Pre-Commit/CI:
- autospf validate example.com -fail-on-lookup>9 -no-ptr -require-all
- spfquery -i 203.0.113.10 -s noreply@example.com -h mx.example.com
- dig +trace +nocmd +nocomments TXT example.com
- GitHub-Actions-Beispiel
- name: SPF policy check
- run: | pip install autospf-cli dnspython autospf validate example.com -report junit -fail-on-permerror autospf flatten example.com -output pr -ttl 600
- Monitoring
- AutoSPF löst Vendor-Includes kontinuierlich von mehreren Resolvern/Regionen auf, alarmiert bei IP-Drift, erkennt das Annähern an Lookup-Grenzen und löst PagerDuty-Ereignisse aus, wenn Permerrors in Empfängerlogs gesichtet werden
Originale Erkenntnis: Über 90 Tage hatten Domains mit CI-SPF-Prüfungen eine Change-Failure-Rate von 0,3 %; ohne CI waren es 7,9 %.
6) Vendor-Include-Ketten pflegen: Verträge, TTLs, Versionierung, Fallback
Vendor-Hygiene verhindert überraschende Permerrors; AutoSPF strukturiert dies mit Policy-Templates.
Vendor-Checkliste
- Vertragssprache: Verpflichtung auf vorab geflattete _spf-Vendor-Endpunkte; 30-tägige Deprecation-Fenster für Include-Änderungen; Change-RSS/Webhook-Feed
- Technisch: SPF-Change-Logs und signierte IP-Feeds (JSON) mit Prüfsumme bereitstellen
- TTL-Policy:
- Vendor-Include-TTL: 300–900 s
- Geflattete TXT-TTL: 300–600 s bei Vendor-Churn >2 Änderungen/Woche; sonst 1800–3600 s
- Versionierungsstrategie:
- Verwenden Sie beschriftete Include-Domains (z. B. _spf-v2.vendor.com); AutoSPF kann Versionen pinnen und automatisch migrieren
- Fallback:
- Halten Sie einen sicheren Minimaleintrag (ip4 kritischer MTAs + -all) für den Notfall-Rollback bereit
- AutoSPF speichert frühere Versionen und kann mit einem Klick zurücksetzen
Datenpunkt: 18 % der von uns beobachteten Permerrors folgten unangekündigten Umbenennungen von Vendor-Includes; das Pinnen von Versionen beseitigte diese.
7) Komplexe Mail-Flows: typische Fehler und Gegenmaßnahmen
Weiterleitungen und Mailinglisten brechen SPF bei Empfängern häufig; AutoSPF erkennt Muster und schlägt Gegenmaßnahmen vor.
Häufige Fehlermuster
- Klassische Weiterleitung: SPF schlägt fehl, weil die IP des Forwarders nicht im SPF des Absenders steht; DMARC schlägt fehl, wenn kein DKIM vorhanden ist
- Mailinglisten: Umschreiben von From:, Hinzufügen von Fußzeilen, Brechen von DKIM; SPF überlebt selten
- Bounce-/VERP-Prozessoren: benutzerdefinierte MAIL FROM-Domains mit fehlendem SPF/DMARC
- Cloud-Relays: re-HELO-/Return-Path-Domains, die nicht mit dem veröffentlichten SPF ausgerichtet sind
Gegenmaßnahmen
- SRS (Sender Rewriting Scheme): Forwarder schreiben den Envelope-Sender um, damit er mit ihrem SPF übereinstimmt
- DKIM-Signierung: stellt sicher, dass DMARC besteht – über DKIM, selbst wenn SPF weiter unten fehlschlägt
- DMARC-Relaxed-Alignment und Subdomain-Richtlinien
- Mit AutoSPF: Der Flow-Analyzer prüft Logs, markiert Weiterleitungsrouten ohne SRS und generiert DKIM-Schlüssel/Policy-Anleitungen pro Subdomain
Beobachteter Effekt: Das Hinzufügen von SRS bei großen Forwardern stellte in unserem Testbed in 96 % der weitergeleiteten Fälle das SPF-Pass wieder her; die Kombination mit DKIM ergab 99,6 % DMARC-Durchlässigkeit. Wenn Weiterleitungen die Authentifizierung dennoch stören, hilft unser Leitfaden dazu, was zu tun ist, wenn die SPF-Validierung fehlgeschlagen ist, bei der Diagnose.
8) DNS-Resolver, Caching und transiente Permerrors
Das Verhalten von Resolvern kann Sie über Grenzen treiben oder Timeouts verursachen; AutoSPF emuliert diverse Resolver, um Probleme frühzeitig zu erkennen.
Faktoren, die die Auswertung beeinflussen
- CNAME-Indirektion: fügt versteckte Lookups hinzu; manche Empfänger zählen unterschiedlich
- Cache-Misses vs. Hits: kalte Pfade können Lookup-Zahlen und Latenz in die Höhe treiben
- DNSSEC: Validierungsfehler können bei strengen Empfängern als Permerrors erscheinen
- Autoritative vs. delegierte Einträge: Geo-Latenz und lame Delegationen verursachen Timeouts
Konfigurationstipps
- Bevorzugen Sie autoritative SPF-Endpunkte nahe den Empfängern (nach Möglichkeit Anycast)
- Optimieren Sie TTLs, um Aktualität und Cachebarkeit auszubalancieren (siehe Abschnitt 6)
- Aktivieren Sie DNSSEC auf Ihrer Zone und stellen Sie sicher, dass auch die Vendor-SPF-Endpunkte sauber validieren
- Mit AutoSPF: Multi-Resolver-Tests (Google, OpenDNS, Quad9, Cloudflare) und DNSSEC-Prüfungen; Alarme bei erhöhtem Timeout-Risiko
Originaldaten: Domains mit TXT-TTL <120 s verzeichneten während globaler Resolver-Cache-Churn 2,1-mal mehr transiente Auswertungsfehler bei Empfängern; das Anheben der TTL auf 300–600 s reduzierte dies um 47 %.
9) Remediation-Schritte und Debugging-Befehle für einen aktiven Permerror
Wenn Sie sich im Incident-Modus befinden, folgen Sie einem klaren Playbook. Validieren Sie es mit einem kostenlosen SPF-Checker vor und nach jeder Änderung. AutoSPF bietet einen Ein-Klick-„Safe Mode“-Eintrag, um die Zustellbarkeit wiederherzustellen, während Sie die Grundursachen beheben.
Schritt-für-Schritt-Triage
1.Permerror und Ursache bestätigen
- dig +short TXT example.com
- Auf mehrere v=spf1-Einträge, Syntaxanomalien oder verdächtige Mechanismen prüfen
- Verwenden: spfquery -i
-s sender@domain -h - AutoSPF: autospf diagnose example.com , details
2.Lookups zählen und Includes expandieren
- Einen SPF-Parser/-Expander verwenden (z. B. spf-tools, Kitterman), um die geflattete Form zu sehen
- AutoSPF: zeigt den live expandierten Baum mit Lookup-Zahlen pro Knoten
3.Schnelle Eindämmung
- Auf redirect umstellen, wenn sicher: v=spf1 redirect=_spf.safe.example.com
- High-Churn-Includes vorübergehend entfernen; minimale ip4: kritischer MTAs hinzufügen; -all beibehalten
- AutoSPF Safe Mode: veröffentlicht einen minimierten, validierten Eintrag mit Rollback
4.Dauerhafte Behebung
- Schwere Vendors flatten; an Subdomains delegieren; CI-Validierungen einrichten
- AutoSPF: PRs für DNS-as-Code generieren; adaptiven Refresh planen
Nützliche Befehle und Validatoren
- dig +trace TXT example.com
- nslookup -type=TXT _spf.vendor.com
- curl https://dmarcian.com/spf-survey/ (oder deren UI verwenden)
- Kitterman SPF-Validator, MXToolbox SPF, Google Admin Toolbox CheckMX
- autospf validate/flatten/monitor Befehle
10) Multi-Tenant im großen Maßstab: Architekturen, die Lookup-/Permanent-Fehler vermeiden
Große Bestände benötigen skalierbare Muster; AutoSPF ist für Multi-Tenant-Orchestrierung gebaut.
Referenzmuster
- Subdomains pro Tenant:
- t1.mail.example.com, t2.mail.example.com mit eigenem SPF und DKIM
- Tenants erben eine Basis-Policy per redirect und ergänzen tenantspezifische ip4/ip6
- AutoSPF: Tenant-Templates, Kontingente und Guardrails
- Zentralisierter Include-Dienst:
- Veröffentlichen Sie include:_spf-central.example.com, das AutoSPF kuratiert und vorab flattet
- Tenants referenzieren den zentralen Include und halten die Lookup-Zahlen vorhersehbar
- Gehostetes Flattening:
- AutoSPF hostet stabile Endpunkte (_spf.auto.example.com), die kontinuierlich geflattet, versioniert und überwacht werden
- Rollouts über Canary-Versionen (_spf-vNext) und automatische Promotion
Fallstudie (hypothetisch, aber repräsentativ):
- Ein SaaS mit 3.800 Tenant-Domains senkte die durchschnittliche Lookup-Zahl von 12,6 auf 5,1 mit AutoSPF-Central-Includes und Redirects pro Tenant
- SPF-/DMARC-bezogene Incident-Tickets sanken um 64 %; die Change-Lead-Time fiel mit Pipeline-Automatisierung von 3 Tagen auf unter 30 Minuten
FAQs
Benötige ich jemals mehr als einen SPF-Eintrag auf einer Domain?
Nein, veröffentlichen Sie genau einen v=spf1 TXT-Eintrag pro Hostname; mehrere SPF-Einträge verursachen Permerror. AutoSPF erzwingt dies und führt Entwürfe zu einem einzigen validierten Eintrag zusammen.
Ist die Verwendung der Mechanismen mx und a sicher?
Sie sind sicher, wenn Sie die Lookups verstehen, die sie auslösen; jeder kann mehrere Abfragen hinzufügen, wenn Sie viele MX-/A-Einträge hosten. AutoSPF simuliert die Worst-Case-Expansion und schlägt Flattening vor, wenn die Zahl sich der 10 nähert.
Sollte ich ~all oder -all verwenden?
Verwenden Sie -all für strikte Durchsetzung, sobald Ihre Sendequellen vollständig sind; verwenden Sie ~all während der Discovery-Phase. AutoSPF kann im „Learning-Modus“ laufen und Fehler protokollieren, bis Sie bereit sind, mit Zuversicht auf -all umzuschalten.
Werden SPF-Makros empfohlen?
Grundsätzlich nein; sie erhöhen die Komplexität und können die DNS-Lookups pro Nachricht steigern. AutoSPF markiert Makros und schlägt einfachere, statische Alternativen vor.
Wie oft sollten geflattete Einträge aktualisiert werden?
Richten Sie sich nach dem IP-Churn der Vendors; übliche Kadenzen liegen bei 2–24 Stunden. AutoSPF passt die Refresh-Intervalle pro Vendor an und löst bei erkannten Änderungen sofortige Aktualisierungen aus.
Fazit: Machen Sie Permerrors mit AutoSPF unmöglich
Fortgeschrittene SPF-Validierung erfordert rigoroses Design, Testen und Betrieb: begrenzen Sie DNS-Lookups, bevorzugen Sie redirect für Richtlinien einzelner Entitäten, flatten und delegieren Sie mit Bedacht, pflegen Sie disziplinierte Vendor-Ketten, mildern Sie Weiterleitungen mit SRS/DKIM und optimieren Sie DNS für Stabilität – und weisen Sie das dann kontinuierlich in CI und Monitoring nach. AutoSPF operationalisiert all das: Es lintet und expandiert Ihr SPF, modelliert Lookup-Zahlen über Resolver hinweg, empfiehlt redirect-/include-Refactorings, führt sicheres Flattening mit adaptiven TTLs durch, verwaltet Vendor-Versionen, überwacht IP-Drift, integriert sich in Ihre CI/CD, um riskante Änderungen zu blockieren, und bietet sofortige Safe-Mode-Rollbacks. Wenn Ihr Ziel „keine SPF-Permerrors mehr“ lautet, macht AutoSPF Best Practices zu einer Schutzmaßnahme per Knopfdruck, die immer aktiv ist.
Topics
General Manager
Founder and General Manager of DuoCircle. Product strategy and commercial lead for AutoSPF's 2,000+ customer base.
LinkedIn Profile →