Skip to content

Commit 2e7d7a3

Browse files
Add support for scam protection (#5853)
Task/Issue URL: https://app.asana.com/0/0/1209879813659870 ### Description ### Steps to test this PR _Feature 1_ - [ ] Fresh install the app - [ ] Using the app inspector, check that only phishing and malware datasets are present. Data needs to be downloaded, so it might take a few seconds to complete. The easiest way is to check the `revisions` table in `malicious_sites` db - [ ] Open https://privacy-test-pages.site/security/badware/phishing.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/malware.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's not blocked _Feature 2_ - [ ] Set `@Toggle.DefaultValue(true)` for `scamProtection` - [ ] Fresh install the app - [ ] Using the app inspector, check that phishing, malware and scam datasets are present. Data needs to be downloaded, so it might take a few seconds to complete. The easiest way is to check the `revisions` table in `malicious_sites` db - [ ] Open https://privacy-test-pages.site/security/badware/phishing.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/malware.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's blocked - [ ] Check `m_malicious-site-protection_error-page-shown` is fired with `category=scam` - [ ] Accept risk and visit site - [ ] Check `m_malicious-site-protection_visit-site` is fired with `category=scam` - [ ] Click the omnibar icon - [ ] Check privacy dashboard is shown normally - [ ] Disable `scamProtection` under Feature Flag Inventory and restart the app - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's not blocked From #5857 _Feature 1_ - [ ] Fresh install the app - [ ] Using the app inspector, check that only phishing and malware datasets are present. Data needs to be downloaded, so it might take a few seconds to complete. The easiest way is to check the `revisions` table in `malicious_sites` db - [ ] Open https://privacy-test-pages.site/security/badware/phishing.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/malware.html and check it's blocked - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's not blocked _Feature 2_ - [ ] Without reinstalling the app, enable `scamProtection` under Feature Flag Inventory and restart the app - [ ] Using the app inspector, check that phishing, malware and scam datasets are present. Data needs to be downloaded, so it might take a few seconds to complete. The easiest way is to check the `revisions` table in `malicious_sites` db - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's blocked. - [ ] Disable `scamProtection` under Feature Flag Inventory and restart the app - [ ] Open https://privacy-test-pages.site/security/badware/scam.html and check it's not blocked ### UI changes ![image](https://github.com/user-attachments/assets/d842d2c7-8b19-4329-885e-fcba2e4db8d0) --- - To see the specific tasks where the Asana app for GitHub is being used, see below: - https://app.asana.com/0/0/1209910424512874 --------- Co-authored-by: Dax The Translator <[email protected]>
1 parent 879af06 commit 2e7d7a3

File tree

51 files changed

+9824
-9340
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+9824
-9340
lines changed

app/src/main/java/com/duckduckgo/app/browser/BrowserTabViewModel.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,7 @@ import com.duckduckgo.js.messaging.api.JsCallbackData
314314
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed
315315
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.MALWARE
316316
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.PHISHING
317+
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.SCAM
317318
import com.duckduckgo.newtabpage.impl.pixels.NewTabPixels
318319
import com.duckduckgo.privacy.config.api.AmpLinkInfo
319320
import com.duckduckgo.privacy.config.api.AmpLinks
@@ -3341,6 +3342,7 @@ class BrowserTabViewModel @Inject constructor(
33413342
val maliciousSiteStatus = when (feed) {
33423343
MALWARE -> MaliciousSiteStatus.MALWARE
33433344
PHISHING -> MaliciousSiteStatus.PHISHING
3345+
SCAM -> MaliciousSiteStatus.SCAM
33443346
}
33453347

33463348
buildSiteFactory(
@@ -3351,7 +3353,7 @@ class BrowserTabViewModel @Inject constructor(
33513353

33523354
if (!exempted) {
33533355
if (currentBrowserViewState().maliciousSiteBlocked && previousSite?.url == url.toString()) {
3354-
Timber.tag("Cris").d("maliciousSiteBlocked already shown for $url, previousSite: ${previousSite.url}")
3356+
Timber.d("maliciousSiteBlocked already shown for $url, previousSite: ${previousSite.url}")
33553357
} else {
33563358
val params = mapOf(CATEGORY_KEY to feed.name.lowercase(), CLIENT_SIDE_HIT_KEY to clientSideHit.toString())
33573359
pixel.fire(AppPixelName.MALICIOUS_SITE_PROTECTION_ERROR_SHOWN, params)

app/src/main/java/com/duckduckgo/app/browser/webview/MaliciousSiteBlockedWarningLayout.kt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package com.duckduckgo.app.browser.webview
1818

1919
import android.content.Context
2020
import android.text.SpannableStringBuilder
21+
import android.text.TextPaint
2122
import android.text.method.LinkMovementMethod
2223
import android.text.style.ClickableSpan
2324
import android.text.style.URLSpan
@@ -40,6 +41,7 @@ import com.duckduckgo.common.utils.extensions.html
4041
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed
4142
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.MALWARE
4243
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.PHISHING
44+
import com.duckduckgo.malicioussiteprotection.api.MaliciousSiteProtection.Feed.SCAM
4345

4446
class MaliciousSiteBlockedWarningLayout @JvmOverloads constructor(
4547
context: Context,
@@ -79,12 +81,9 @@ class MaliciousSiteBlockedWarningLayout @JvmOverloads constructor(
7981
) {
8082
with(binding) {
8183
val errorResource = when (feed) {
82-
MALWARE -> {
83-
R.string.maliciousSiteMalwareHeadline
84-
}
85-
PHISHING -> {
86-
R.string.maliciousSitePhishingHeadline
87-
}
84+
MALWARE -> R.string.maliciousSiteMalwareHeadline
85+
PHISHING -> R.string.maliciousSitePhishingHeadline
86+
SCAM -> R.string.maliciousSiteScamHeadline
8887
}
8988
errorHeadline.setSpannable(errorResource) { actionHandler(LearnMore) }
9089
expandedHeadline.setSpannable(R.string.maliciousSiteExpandedHeadline) { actionHandler(ReportError) }
@@ -100,6 +99,11 @@ class MaliciousSiteBlockedWarningLayout @JvmOverloads constructor(
10099
override fun onClick(widget: View) {
101100
actionHandler()
102101
}
102+
103+
override fun updateDrawState(ds: TextPaint) {
104+
ds.color = currentTextColor
105+
ds.isUnderlineText = true
106+
}
103107
}
104108
val htmlContent = context.getString(errorResource).html(context)
105109
val spannableString = SpannableStringBuilder(htmlContent)

app/src/main/res/layout/view_malicious_site_blocked_warning.xml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@
2424
android:layout_width="match_parent"
2525
android:layout_height="wrap_content"
2626
android:paddingTop="150dp"
27-
android:paddingBottom="50dp"
28-
android:paddingHorizontal="@dimen/keyline_5">
27+
android:paddingBottom="50dp">
2928

3029
<ImageView
3130
android:id="@+id/alertImage"
@@ -35,7 +34,8 @@
3534
android:src="@drawable/malware_site_128"
3635
app:layout_constraintEnd_toEndOf="parent"
3736
app:layout_constraintStart_toStartOf="parent"
38-
app:layout_constraintTop_toTopOf="parent" />
37+
app:layout_constraintTop_toTopOf="parent"
38+
android:layout_marginHorizontal="@dimen/keyline_5"/>
3939

4040
<com.duckduckgo.common.ui.view.text.DaxTextView
4141
android:id="@+id/errorTitle"
@@ -48,7 +48,8 @@
4848
app:layout_constraintEnd_toEndOf="parent"
4949
app:layout_constraintStart_toStartOf="parent"
5050
app:layout_constraintTop_toBottomOf="@+id/alertImage"
51-
app:typography="h2" />
51+
app:typography="h2"
52+
android:layout_marginHorizontal="@dimen/keyline_5"/>
5253

5354
<com.duckduckgo.common.ui.view.text.DaxTextView
5455
android:id="@+id/errorHeadline"
@@ -60,7 +61,8 @@
6061
app:layout_constraintStart_toStartOf="parent"
6162
app:layout_constraintTop_toBottomOf="@+id/errorTitle"
6263
app:typography="body1"
63-
android:text="@string/maliciousSiteMalwareHeadline" />
64+
android:text="@string/maliciousSiteMalwareHeadline"
65+
android:layout_marginHorizontal="@dimen/keyline_5"/>
6466

6567

6668
<com.duckduckgo.common.ui.view.button.DaxButtonPrimary
@@ -72,7 +74,8 @@
7274
app:daxButtonSize="large"
7375
app:layout_constraintEnd_toEndOf="parent"
7476
app:layout_constraintStart_toStartOf="parent"
75-
app:layout_constraintTop_toBottomOf="@+id/errorHeadline"/>
77+
app:layout_constraintTop_toBottomOf="@+id/errorHeadline"
78+
android:layout_marginHorizontal="@dimen/keyline_5"/>
7679

7780
<com.duckduckgo.common.ui.view.button.DaxButtonGhost
7881
android:id="@+id/advancedCTA"
@@ -82,7 +85,8 @@
8285
app:daxButtonSize="large"
8386
app:layout_constraintEnd_toEndOf="parent"
8487
app:layout_constraintStart_toStartOf="parent"
85-
app:layout_constraintTop_toBottomOf="@+id/leaveSiteCTA" />
88+
app:layout_constraintTop_toBottomOf="@+id/leaveSiteCTA"
89+
android:layout_marginHorizontal="@dimen/keyline_5"/>
8690

8791
<androidx.constraintlayout.widget.Group
8892
android:id="@+id/advancedGroup"
@@ -111,7 +115,8 @@
111115
app:layout_constraintStart_toStartOf="parent"
112116
app:layout_constraintTop_toBottomOf="@+id/advancedDivider"
113117
app:typography="body2"
114-
android:text="@string/maliciousSiteExpandedHeadline" />
118+
android:text="@string/maliciousSiteExpandedHeadline"
119+
android:layout_marginHorizontal="@dimen/keyline_5"/>
115120

116121
<com.duckduckgo.common.ui.view.text.DaxTextView
117122
android:id="@+id/expandedCTA"
@@ -123,7 +128,8 @@
123128
app:layout_constraintStart_toStartOf="parent"
124129
app:layout_constraintTop_toBottomOf="@+id/expandedHeadline"
125130
app:typography="body2"
126-
android:text="@string/maliciousSiteExpandedCTA" />
131+
android:text="@string/maliciousSiteExpandedCTA"
132+
android:layout_marginHorizontal="@dimen/keyline_5"/>
127133

128134
</androidx.constraintlayout.widget.ConstraintLayout>
129135
</ScrollView>

app/src/main/res/values-bg/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@
711711
</plurals>
712712

713713
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
714-
<item quantity="one">%1$d поверителен раздел</item>
715-
<item quantity="other">%1$d поверителни раздела</item>
714+
<item quantity="one">1 раздел</item>
715+
<item quantity="other">%1$d раздела</item>
716716
</plurals>
717717

718718
<!-- Private voice search -->
@@ -860,6 +860,7 @@
860860
<string name="maliciousSiteTitle">Предупреждение: Този сайт може да представлява риск за сигурността</string>
861861
<string name="maliciousSiteMalwareHeadline"><![CDATA[DuckDuckGo блокира тази страница, защото тя може да разпространява зловреден софтуер, който да компрометира устройството ви или да открадне личната ви информация.\n<a href=\"\">Научете повече</a>]]></string>
862862
<string name="maliciousSitePhishingHeadline"><![CDATA[Този уебсайт може да имитира легитимен сайт, за да ви подмами да предоставите лична информация, като например пароли или номера на кредитни карти.\n<a href=\"\">Научете повече</a>]]></string>
863+
<string name="maliciousSiteScamHeadline"><![CDATA[DuckDuckGo блокира тази страница, защото тя може да се опитва да Ви измами или манипулира да преведете пари, да купите фалшиви стоки или да инсталирате зловреден софтуер под фалшив претекст.\n<a href=\"\">Научете повече</a>]]></string>
863864
<string name="maliciousSiteLeaveCTA">Напускане на този сайт</string>
864865
<string name="maliciousSiteAdvancedCTA">Разширени</string>
865866
<string name="maliciousSiteExpandedHeadline"><![CDATA[Ако смятате, че този уебсайт е безопасен, можете да <a href=\"\">съобщите за грешка</a>. Все пак можете да посетите уебсайта на свой собствен риск.]]></string>

app/src/main/res/values-cs/strings.xml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -737,10 +737,10 @@
737737
</plurals>
738738

739739
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
740-
<item quantity="one">%1$d soukromá karta</item>
741-
<item quantity="few">%1$d soukromé karty</item>
742-
<item quantity="many">%1$d soukromých karet</item>
743-
<item quantity="other">%1$d soukromých karet</item>
740+
<item quantity="one">1 karta</item>
741+
<item quantity="few">%1$d karty</item>
742+
<item quantity="many">%1$d karty</item>
743+
<item quantity="other">%1$d karet</item>
744744
</plurals>
745745

746746
<!-- Private voice search -->
@@ -892,6 +892,7 @@
892892
<string name="maliciousSiteTitle">Pozor: Tahle stránka může představovat bezpečnostní riziko</string>
893893
<string name="maliciousSiteMalwareHeadline"><![CDATA[Služba DuckDuckGo tuhle stránku zablokovala, protože může šířit malware, jehož cílem je narušit zabezpečení zařízení nebo odcizit osobní údaje.\n<a href=\"\">Přečti si víc</a>]]></string>
894894
<string name="maliciousSitePhishingHeadline"><![CDATA[Tahle webová stránka se může vydávat za legitimní web, aby tě přiměla k poskytnutí osobních údajů, jako jsou hesla nebo čísla kreditních karet.\n<a href=\"\">Přečti si víc</a>]]></string>
895+
<string name="maliciousSiteScamHeadline"><![CDATA[Služba DuckDuckGo zablokovala tuto stránku, protože se tě může pokoušet pod falešnými záminkami přimět k převodu peněz, nákupu padělaného zboží nebo instalaci malwaru.\n<a href=\"\">Přečti si víc</a>]]></string>
895896
<string name="maliciousSiteLeaveCTA">Opustit tuhle stránku</string>
896897
<string name="maliciousSiteAdvancedCTA">Pokročilé</string>
897898
<string name="maliciousSiteExpandedHeadline"><![CDATA[Pokud věříš, že je tahle stránka bezpečná, můžeš <a href=\"\">nahlásit chybu</a>. Můžeš taky stránku navštívit na vlastní nebezpečí.]]></string>

app/src/main/res/values-da/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@
711711
</plurals>
712712

713713
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
714-
<item quantity="one">%1$d Privat fane</item>
715-
<item quantity="other">%1$d Private faner</item>
714+
<item quantity="one">1 fane</item>
715+
<item quantity="other">%1$d faner</item>
716716
</plurals>
717717

718718
<!-- Private voice search -->
@@ -860,6 +860,7 @@
860860
<string name="maliciousSiteTitle">Advarsel: Dette websted kan udgøre en sikkerhedsrisiko</string>
861861
<string name="maliciousSiteMalwareHeadline"><![CDATA[DuckDuckGo har blokeret denne side, fordi den muligvis distribuerer malware, der er designet til at kompromittere din enhed eller stjæle dine personlige oplysninger.\n<a href=\"\">Få mere at vide</a>]]></string>
862862
<string name="maliciousSitePhishingHeadline"><![CDATA[Dette websted efterligner muligvis et legitimt websted for at narre dig til at give personlige oplysninger, såsom adgangskoder eller kreditkortnumre.\n<a href=\"\">Få mere at vide</a>]]></string>
863+
<string name="maliciousSiteScamHeadline"><![CDATA[DuckDuckGo har blokeret denne side, fordi den muligvis forsøger at bedrage eller manipulere dig til at overføre penge, købe forfalskede varer eller installere malware under falske forudsætninger.\n<a href=\"\">Få mere at vide</a>]]></string>
863864
<string name="maliciousSiteLeaveCTA">Forlad dette websted</string>
864865
<string name="maliciousSiteAdvancedCTA">Avanceret</string>
865866
<string name="maliciousSiteExpandedHeadline"><![CDATA[Hvis du mener, at dette websted er sikkert, kan du <a href=\"\">anmelde en fejl</a>. Du kan stadig besøge webstedet på eget ansvar.]]></string>

app/src/main/res/values-de/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@
711711
</plurals>
712712

713713
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
714-
<item quantity="one">%1$d privater Tab</item>
715-
<item quantity="other">%1$d private Tabs</item>
714+
<item quantity="one">%1$d Tab</item>
715+
<item quantity="other">%1$d Tabs</item>
716716
</plurals>
717717

718718
<!-- Private voice search -->
@@ -860,6 +860,7 @@
860860
<string name="maliciousSiteTitle">Warnung: Diese Website stellt möglicherweise ein Sicherheitsrisiko dar</string>
861861
<string name="maliciousSiteMalwareHeadline"><![CDATA[DuckDuckGo hat diese Seite blockiert, weil sie möglicherweise Malware verbreitet, die darauf abzielt, dein Gerät zu kompromittieren oder deine persönlichen Daten zu stehlen.\n<a href=\"\">Mehr erfahren</a>]]></string>
862862
<string name="maliciousSitePhishingHeadline"><![CDATA[Diese Website gibt sich möglicherweise als legitime Website aus, um dich dazu zu verleiten, personenbezogene Daten wie Passwörter oder Kreditkartennummern preiszugeben.\n<a href=\"\">Mehr erfahren</a>]]></string>
863+
<string name="maliciousSiteScamHeadline"><![CDATA[DuckDuckGo hat diese Seite blockiert, weil sie möglicherweise versucht, dich zu täuschen oder zu manipulieren, um dich unter Vorspiegelung falscher Tatsachen zur Überweisung von Geld, zum Kauf gefälschter Waren oder zur Installation von Malware zu verleiten.<a href=\"\">Mehr erfahren</a>]]></string>
863864
<string name="maliciousSiteLeaveCTA">Diese Website verlassen</string>
864865
<string name="maliciousSiteAdvancedCTA">Erweitert</string>
865866
<string name="maliciousSiteExpandedHeadline"><![CDATA[Wenn du glaubst, dass diese Website sicher ist, kannst du <a href=\"\">einen Fehler melden</a>. Du kannst die Website weiterhin auf eigenes Risiko besuchen.]]></string>

app/src/main/res/values-el/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@
711711
</plurals>
712712

713713
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
714-
<item quantity="one">%1$d ιδιωτική καρτέλα</item>
715-
<item quantity="other">%1$d ιδιωτικές καρτέλες</item>
714+
<item quantity="one">1 Καρτέλα</item>
715+
<item quantity="other">%1$d Καρτέλες</item>
716716
</plurals>
717717

718718
<!-- Private voice search -->
@@ -860,6 +860,7 @@
860860
<string name="maliciousSiteTitle">Προειδοποίηση: Αυτός ο ιστότοπος μπορεί να είναι επικίνδυνος για την ασφάλεια</string>
861861
<string name="maliciousSiteMalwareHeadline"><![CDATA[Το DuckDuckGo μπλόκαρε αυτήν τη σελίδα επειδή μπορεί να διανέμει κακόβουλο λογισμικό, το οποίο έχει σχεδιαστεί για να θέσει σε κίνδυνο τη συσκευή σας ή να υποκλέψει τα προσωπικά στοιχεία σας.\n<a href=\"\">Μάθετε περισσότερα</a>]]></string>
862862
<string name="maliciousSitePhishingHeadline"><![CDATA[Ο ιστότοπος αυτός μπορεί να υποδύεται έναν νόμιμο ιστότοπο προκειμένου να σας εξαπατήσει ώστε να παράσχετε προσωπικές πληροφορίες, όπως κωδικούς πρόσβασης ή αριθμούς πιστωτικών καρτών.\n<a href=\"\">Μάθετε περισσότερα</a>]]></string>
863+
<string name="maliciousSiteScamHeadline"><![CDATA[Το DuckDuckGo απέκλεισε αυτήν τη σελίδα επειδή μπορεί να προσπαθεί να σας εξαπατήσει ή να σας χειραγωγήσει για να μεταφέρετε χρήματα, να αγοράσετε παραποιημένα προϊόντα ή να εγκαταστήσετε κακόβουλο λογισμικό με ψευδείς προφάσεις.\n<a href=\"\">Μάθετε περισσότερα</a>]]></string>
863864
<string name="maliciousSiteLeaveCTA">Αποχωρήστε από τον ιστότοπο αυτόν</string>
864865
<string name="maliciousSiteAdvancedCTA">Προχωρημένο</string>
865866
<string name="maliciousSiteExpandedHeadline"><![CDATA[Εάν πιστεύετε ότι αυτός ο ιστότοπος είναι ασφαλής, μπορείτε να <a href=\"\">αναφέρετε ένα σφάλμα</a>. Μπορείτε ακόμα να επισκεφθείτε τον ιστότοπο, με δική σας ευθύνη.]]></string>

app/src/main/res/values-es/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -711,8 +711,8 @@
711711
</plurals>
712712

713713
<plurals name="tabSwitcherTitle" tools:ignore="ImpliedQuantity,MissingInstruction">
714-
<item quantity="one">%1$d pestaña privada</item>
715-
<item quantity="other">%1$d pestañas privadas</item>
714+
<item quantity="one">1 pestaña</item>
715+
<item quantity="other">%1$d pestañas</item>
716716
</plurals>
717717

718718
<!-- Private voice search -->
@@ -860,6 +860,7 @@
860860
<string name="maliciousSiteTitle">Advertencia: este sitio puede suponer un riesgo para la seguridad</string>
861861
<string name="maliciousSiteMalwareHeadline"><![CDATA[DuckDuckGo ha bloqueado esta página porque podría estar distribuyendo malware diseñado para comprometer tu dispositivo o robar tu información personal.\n<a href=\"\">Más información</a>]]></string>
862862
<string name="maliciousSitePhishingHeadline"><![CDATA[Este sitio web puede hacerse pasar por un sitio legítimo con el fin de engañarte para que proporciones información personal, como contraseñas o números de tarjetas de crédito.\n<a href=\"\">Más información</a>]]></string>
863+
<string name="maliciousSiteScamHeadline"><![CDATA[DuckDuckGo ha bloqueado esta página porque podría estar intentando engañarte o manipularte para que transfieras dinero, compres productos falsificados o instales software malicioso bajo falsos argumentos.\n<a href=\"\">Más información</a>]]></string>
863864
<string name="maliciousSiteLeaveCTA">Salir de este sitio</string>
864865
<string name="maliciousSiteAdvancedCTA">Avanzado</string>
865866
<string name="maliciousSiteExpandedHeadline"><![CDATA[Si crees que este sitio web es seguro, puedes <a href=\"\">informar de un error</a>. Puedes seguir visitando el sitio web por tu cuenta y riesgo.]]></string>

0 commit comments

Comments
 (0)