From 0d8a1ab42764b44ea7cbe2e8d48aab5e53579ab6 Mon Sep 17 00:00:00 2001 From: Charlie Hopkins-Brinicombe Date: Sun, 25 Oct 2026 12:37:00 +0000 Subject: [PATCH 1/3] New pricing --- account/billing.mdx | 83 +++--- account/security.mdx | 34 +++ company/security.mdx | 118 -------- components/plan-badge.jsx | 47 ++-- docs.json | 34 ++- es/account/billing.mdx | 110 +++++--- es/account/security.mdx | 38 +++ es/company/security.mdx | 120 -------- es/components/plan-badge.jsx | 47 ++-- es/features/emails.mdx | 406 ++++++++++++++-------------- es/getting-started/introduction.mdx | 24 +- es/platform/data-sync.mdx | 38 +-- es/platform/multi-tenancy.mdx | 3 +- es/webhooks/introduction.mdx | 40 ++- features/emails.mdx | 7 - getting-started/introduction.mdx | 4 +- platform/data-sync.mdx | 4 +- platform/multi-tenancy.mdx | 3 +- webhooks/introduction.mdx | 4 - 19 files changed, 516 insertions(+), 648 deletions(-) create mode 100644 account/security.mdx delete mode 100644 company/security.mdx create mode 100644 es/account/security.mdx delete mode 100644 es/company/security.mdx diff --git a/account/billing.mdx b/account/billing.mdx index 136100c5..82bd6ea1 100644 --- a/account/billing.mdx +++ b/account/billing.mdx @@ -22,49 +22,46 @@ Trophy defines an MAU as a single user that sends at least one [metric event](/f Bear in mind you never pay for churned users. If a user signs up for your product in a given month but doesn't return, you only pay for that user once and never again. -## Free Tier {#free-tier} +## Free Trial {#free-trial} -The free tier allows teams to test and evaluate Trophy up to **1,000 MAUs** without accruing usage charges. +Every new account on the and plans starts with a **30-day free trial** so you can test and evaluate Trophy before you pay. - - Once you exceed the free plan, your account will continue to function and - we'll reach out to you directly with a friendly reminder to upgrade. - +## Plans {#plans} -## Paid Plans {#paid-plans} +Trophy has three plans, , and . -Trophy has two paid plans, [Starter](#starter-plan) and [Pro](#pro-plan). +### Pro Plan {#pro-plan} -### Starter Plan {#starter-plan} +The plan is for teams running Trophy in production. It includes all of Trophy's core gamification features: achievements, streaks, points, leaderboards, emails and push notifications. -The starter plan is for customers who have graduated from the testing and evaluation phase and are using Trophy in small-scale production deployments. +### Business Plan {#business-plan} -Unlike the [Free Tier](#free-tier), the starter plan has no limits on MAUs. +The plan is for teams that need additional security, access controls and support, including single sign-on, role-based access control, data sync and a dedicated Slack channel. -### Pro Plan {#pro-plan} +### Enterprise Plan {#enterprise-plan} -The pro plan is for customers who are using Trophy in larger scale deployments or who require more advanced features. +The plan is for larger organizations with custom requirements such as multi-tenancy, data residency, compliance reports and custom contracts. [Get in touch](mailto:support@trophy.so) to discuss pricing. ### Plan Allowances {#plan-allowances} -Here's a comparison of the allowances of each paid plan: +Here's a comparison of the allowances of each plan: -| Item | Starter | Pro | -| --------------------------- | ------- | -------- | -| Base price | `$25` | `$299` | -| Included MAUs | `1,000` | `10,000` | -| Included Emails | `2,000` | `20,000` | -| Included Push Notifications | `2,000` | `20,000` | +| Item | | | | +| --------------------------- | -------- | -------- | ---------- | +| Base price | `$299` | `$599` | Custom | +| Included MAUs | `10,000` | `10,000` | Custom | +| Included Emails | `20,000` | `20,000` | Custom | +| Included Push Notifications | `20,000` | `20,000` | Custom | ### Overages {#overages} -Overages are charged on paid plans above the included [allowances](#plan-allowances) at the following rates: +Overages are charged on the and plans above the included [allowances](#plan-allowances) at the following rates: -| Item | Starter | Pro | +| Item | | | | ------------------------ | -------- | -------- | | 1 MAU | `$0.015` | `$0.015` | -| 1,000 Emails | `$2.50` | `$2.00` | -| 1,000 Push Notifications | `$1.50` | `$1.00` | +| 1,000 Emails | `$2.00` | `$2.00` | +| 1,000 Push Notifications | `$1.00` | `$1.00` | Volume discounts are available as part of [custom contracts](#custom-contracts). @@ -72,7 +69,7 @@ Volume discounts are available as part of [custom contracts](#custom-contracts). Here's a list of all Trophy features and the plan they become available on: - + - [Achievements](/features/achievements) - [Streaks](/features/streaks) @@ -80,21 +77,45 @@ Here's a list of all Trophy features and the plan they become available on: - [Leaderboards](/features/leaderboards) - [Emails](/features/emails) - [Push Notifications](/features/push-notifications) -- 7-day analytics +- [Webhooks](/webhooks) +- Integration guidance for the first 30 days +- 99.9% uptime SLA +- 7-day audit logs - + -- Additional MAUs permitted -- 12-month analytics +Everything in , plus: - +- Ongoing integration guidance +- Data sync +- Slack support with a dedicated Slack channel +- Single sign-on (SSO) +- Multi-factor authentication (MFA) +- Role-based access control (RBAC) +- 30-day audit logs -- [Webhooks](/webhooks) + + +Everything in , plus: + +- Custom usage and volume discounts +- Reserved usage commitments +- Multi-tenancy +- Data residency control +- 99.99% uptime SLA +- SOC 2 and ISO reports +- Custom DPA and alternative data residency +- Custom audit logs, SLAs and support agreements +- Startup program eligibility ## Custom Contracts {#custom-contracts} If you have more than 100K MAUs and would like to discuss custom contracts including volume discounts to suit your business needs then please [get in touch](mailto:support@trophy.so) and we'll be happy to help. +## Startup Program {#startup-program} + +Eligible startups can get one free year of the plan for up to 100K MAUs. Acceptance into the program is not guaranteed. [Get in touch](mailto:support@trophy.so) to find out more. + ## Viewing Your Usage {#viewing-your-usage} You can view your usage for the current billing period on the [billing page](https://app.trophy.so/billing) of the Trophy dashboard and view all past invoices in your billing portal. diff --git a/account/security.mdx b/account/security.mdx new file mode 100644 index 00000000..48a8629e --- /dev/null +++ b/account/security.mdx @@ -0,0 +1,34 @@ +--- +title: Security +description: Account security features for your Trophy organization, including single sign-on, multi-factor authentication and role-based access control. +og:description: Account security features for your Trophy organization, including single sign-on, multi-factor authentication and role-based access control. +icon: shield-check +--- + +import { PlanBadge } from "../components/plan-badge.jsx"; + + + These features are available on request on the plan. Please [get in touch](mailto:support@trophy.so) and we'll help you get set up. + + +Trophy provides a number of security features to help you control who can access your organization and how they sign in. For details on how Trophy protects your data, visit our [Trust Center](https://trust.trophy.so). + +## Single Sign-On (SSO) {#single-sign-on-sso} + +Single sign-on lets your team members sign in to Trophy using your organization's identity provider, so access to Trophy is managed alongside the rest of your tools. + +## Multi-Factor Authentication (MFA) {#multi-factor-authentication-mfa} + +Multi-factor authentication adds an extra verification step when team members sign in, protecting your account if a password is compromised. + +## Role-Based Access Control (RBAC) {#role-based-access-control-rbac} + +Role-based access control lets you manage what each team member can do in your Trophy organization based on their role. To learn about the default roles available to every organization, see [Members](/account/members#manage-user-roles). + +## Audit Logs {#audit-logs} + +Audit logs give you a record of activity in your Trophy organization. Business plan accounts retain audit logs for 30 days. + +## Get Support {#get-support} + +Want to get in touch with the Trophy team? Reach out to us via [email](mailto:support@trophy.so). We're here to help! diff --git a/company/security.mdx b/company/security.mdx deleted file mode 100644 index e3eaf620..00000000 --- a/company/security.mdx +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: Security -description: How Trophy protects customer data, controls access, and approaches compliance. -og:description: How Trophy protects customer data, controls access, and approaches compliance. -icon: shield-check ---- - -## Data Residency {#data-residency} - -All customer data is stored and processed on cloud infrastructure hosted in London within GDPR compliance. - -Other data residency options are available. [Contact support](mailto:support@trophy.so) to discuss them. - -## Data Security {#data-security} - -### Encryption {#encryption} - -| Control area | Status | Notes | -| --- | --- | --- | -| Encryption in transit (TLS 1.2+) | In place | All API and web traffic uses HTTPS/TLS. | -| Encryption at rest | In place | Application volumes are encrypted. | -| Database encryption at rest | In place | Database volumes and cache stores are encrypted. | -| Secrets management | In place | Environment variables are stored in secure vaults. | - -### Data Classification {#data-classification} - -Trophy processes the following categories of end-user data: - -- User identifiers (anonymous external IDs provided by customers) -- Time zone identifiers (IANA) -- Gamification event data (actions, points, leaderboard ranks, timestamps, and similar events) -- Notification preferences (push notification and email subscription flags) - -By default, Trophy does not store personally identifiable information (PII) directly. It is possible to send the following PII to Trophy, but it is not required: - -- User name -- Email address - -It is also possible to send custom attributes (customer-managed key-value pairs attached to users and events) to Trophy with PII-status determined by the customer use case. - -Trophy processes the following categories of customer data: - -- Customer account and billing information - -Trophy does not have access to customer passwords or credit card data. - -### Data Retention and Deletion {#data-retention-and-deletion} - -- Customer data is retained for the duration of the contract and deleted within 30 days of contract termination on written request. -- You can request deletion of your data at any time by contacting [support@trophy.so](mailto:support@trophy.so). - -### Backups {#backups} - -- Daily automated snapshots of all databases -- Restore procedures are tested annually - -## Access Controls {#access-controls} - -### Internal Access {#internal-access} - -| Control area | Status | Notes | -| --- | --- | --- | -| Role-based access control (RBAC) | In place | Enabled on all cloud providers | -| Multi-factor authentication (MFA) | In place | Enabled on all cloud providers | -| SSO / identity provider | In place | Enabled on relevant internal systems | -| Access reviews | In place | Reviewed annually | - -### Principle of Least Privilege {#principle-of-least-privilege} - -All internal access follows least-privilege principles. Engineers are granted access only to the systems required for their role. Production database access is restricted to senior engineers and requires justification. - -### Customer Data Isolation {#customer-data-isolation} - -Each customer's data is isolated using customer-scoped API keys and row-level filtering. Customers can only access their own data. - -## Application Security {#application-security} - -### Development Practices {#development-practices} - -- All production code undergoes mandatory peer review before merge. -- Branch protection policies enforce this at the repository level, preventing direct commits. -- Dependency vulnerabilities are monitored continuously through GitHub security alerts. -- Secrets are never committed to source control. - -### Vulnerability Management {#vulnerability-management} - -| Control area | Status | Notes | -| --- | --- | --- | -| Dependency vulnerability scanning | In place | Automated on builds | -| Security patch SLA | In place | Critical patches applied within 24 hours | - -### API Security {#api-security} - -- All API access requires authenticated API keys scoped to the customer account. -- API keys can be rotated and revoked at any time in the Trophy dashboard. -- API keys are encrypted before they are stored in the database. -- Rate limiting is applied to all API endpoints to prevent abuse. -- Webhook signature verification is under customer control. Trophy recommends [verifying signatures](/webhooks/security) in webhook endpoints. - -### Web Application Security {#web-application-security} - -- Access to the Trophy dashboard is secured by an identity provider that holds an independent SOC 2 Type II certification. The identity provider manages user authentication, including credential storage, session management, and token issuance. Trophy does not store or handle raw user passwords. -- Dashboard access follows the principle of least privilege. Admin accounts grant and revoke access for other members. -- Multi-factor authentication (MFA) for customer accounts is available [on request](mailto:support@trophy.so). -- Single sign-on (SSO) for customer accounts is available [on request](mailto:support@trophy.so). -- Sessions use short-lived JWT tokens with automatic expiry. -- Customer accounts are fully isolated at the data layer. Authenticated sessions are scoped to the issuing organisation and cannot access data belonging to other customers. -- Application development follows the OWASP Top 10 as a baseline for identifying and mitigating common web application vulnerabilities, including injection attacks, broken authentication, and security misconfiguration. - -## GDPR {#gdpr} - -- Trophy acts as a data processor for customer data under GDPR. -- Trophy is fully compliant with all GDPR practices and procedures for data handling. -- We are happy to enter into a Data Processing Agreement (DPA) with customers. Request one from your account contact. - - - Contact [support@trophy.so](mailto:hello@trophy.so) for a copy of our full security and trust policies. - diff --git a/components/plan-badge.jsx b/components/plan-badge.jsx index 59612aab..48dae777 100644 --- a/components/plan-badge.jsx +++ b/components/plan-badge.jsx @@ -1,26 +1,31 @@ export const PlanBadge = ({ plan }) => { + const styles = ` + .plan-badge { + background-color: #f0fdf4 !important; + background-image: linear-gradient(to bottom right, #bbf7d0, #f0fdf4, #bbf7d0) !important; + color: #4cc74a !important; + border: 0 !important; + font-weight: 500 !important; + box-shadow: inset 0 0 0 1px rgba(78, 200, 76, 0.4) !important; + } + .plan-badge-business { + box-shadow: inset 0 0 0 1px #4cc74a !important; + } + .plan-badge-enterprise { + background-color: #000000 !important; + background-image: linear-gradient(to bottom right, #737373, #000000, #737373) !important; + color: #ffffff !important; + font-weight: 600 !important; + box-shadow: inset 0 0 0 1px #000000 !important; + } + `; + return ( -
- + <> + + {plan.charAt(0).toUpperCase() + plan.slice(1)} - -
+ + ); }; diff --git a/docs.json b/docs.json index 904a33b9..b5036328 100644 --- a/docs.json +++ b/docs.json @@ -51,9 +51,9 @@ "global": { "anchors": [ { - "anchor": "GitHub", - "href": "https://github.com/trophyso", - "icon": "github" + "anchor": "Security", + "href": "https://trust.trophy.so", + "icon": "shield-check" }, { "anchor": "Status", @@ -116,14 +116,9 @@ "account/overview", "account/members", "account/branding", + "account/security", "account/billing" ] - }, - { - "group": "Company", - "pages": [ - "company/security" - ] } ] }, @@ -467,9 +462,9 @@ "global": { "anchors": [ { - "anchor": "GitHub", - "href": "https://github.com/trophyso", - "icon": "github" + "anchor": "Seguridad", + "href": "https://trust.trophy.so", + "icon": "shield-check" }, { "anchor": "Estado", @@ -532,14 +527,9 @@ "es/account/overview", "es/account/members", "es/account/branding", + "es/account/security", "es/account/billing" ] - }, - { - "group": "Empresa", - "pages": [ - "es/company/security" - ] } ] }, @@ -895,6 +885,14 @@ "source": "/en/:slug*", "destination": "/:slug*" }, + { + "source": "/company/security", + "destination": "https://trust.trophy.so" + }, + { + "source": "/es/company/security", + "destination": "https://trust.trophy.so" + }, { "source": "/platform/metrics", "destination": "/features/metrics" diff --git a/es/account/billing.mdx b/es/account/billing.mdx index c03e407f..10b980de 100644 --- a/es/account/billing.mdx +++ b/es/account/billing.mdx @@ -22,59 +22,56 @@ Trophy sigue un modelo de precios basado en uso donde los clientes solo pagan po Trophy define un MAU como un único usuario que envía al menos un [evento de métrica](/es/features/events) a Trophy en un mes determinado. -Ten en cuenta que nunca pagas por usuarios que han abandonado. Si un usuario se registra en tu producto en un mes determinado pero no regresa, solo pagas por ese usuario una vez y nunca más. +Ten en cuenta que nunca pagas por los usuarios que abandonan. Si un usuario se registra en tu producto en un mes determinado pero no vuelve, solo pagas por ese usuario una vez y nunca más. -## Nivel gratuito {#free-tier} +## Prueba gratuita {#free-trial} -El nivel gratuito permite a los equipos probar y evaluar Trophy hasta **1,000 MAU** sin acumular cargos por uso. +Cada cuenta nueva en los planes y comienza con una **prueba gratuita de 30 días** para que puedas probar y evaluar Trophy antes de pagar. - - Una vez que superes el plan gratuito, tu cuenta seguirá funcionando y - nos pondremos en contacto contigo directamente con un amable recordatorio para actualizar. - +## Planes {#plans} -## Planes de pago {#paid-plans} +Trophy tiene tres planes: , y . -Trophy tiene dos planes de pago, [Starter](#starter-plan) y [Pro](#pro-plan). +### Plan Pro {#pro-plan} -### Plan Starter {#starter-plan} +El plan está pensado para equipos que ejecutan Trophy en producción. Incluye todas las funciones principales de gamificación de Trophy: logros, rachas, puntos, clasificaciones, correos electrónicos y notificaciones push. -El plan starter es para clientes que han superado la fase de prueba y evaluación y están usando Trophy en implementaciones de producción a pequeña escala. +### Plan Business {#business-plan} -A diferencia del [Nivel gratuito](#free-tier), el plan starter no tiene límites en MAU. +El plan está pensado para equipos que necesitan seguridad, controles de acceso y soporte adicionales, incluidos el inicio de sesión único (SSO), el control de acceso basado en roles, la sincronización de datos y un canal de Slack dedicado. -### Plan Pro {#pro-plan} +### Plan Enterprise {#enterprise-plan} -El plan pro es para clientes que están usando Trophy en implementaciones de mayor escala o que requieren funciones más avanzadas. +El plan está pensado para organizaciones más grandes con requisitos personalizados, como multitenencia, residencia de datos, informes de cumplimiento y contratos a medida. [Ponte en contacto](mailto:support@trophy.so) con nosotros para hablar sobre los precios. -### Límites del Plan {#plan-allowances} +### Cuotas de los planes {#plan-allowances} -Aquí hay una comparación de los límites de cada plan de pago: +Esta es una comparación de las cuotas de cada plan: -| Elemento | Starter | Pro | -| ------------------------------- | ------- | -------- | -| Precio base | `$25` | `$299` | -| MAU incluidos | `1,000` | `10,000` | -| Correos electrónicos incluidos | `2,000` | `20,000` | -| Notificaciones push incluidas | `2,000` | `20,000` | +| Elemento | | | | +| -------------------------------- | -------- | -------- | ---------- | +| Precio base | `$299` | `$599` | Personalizado | +| MAU incluidos | `10,000` | `10,000` | Personalizado | +| Correos electrónicos incluidos | `20,000` | `20,000` | Personalizado | +| Notificaciones push incluidas | `20,000` | `20,000` | Personalizado | ### Excedentes {#overages} -Los excedentes se cobran en los planes de pago por encima de los [límites](#plan-allowances) incluidos a las siguientes tarifas: +Los excedentes se cobran en los planes y cuando se superan las [asignaciones incluidas](#plan-allowances), con las siguientes tarifas: -| Elemento | Starter | Pro | -| ---------------------------- | -------- | -------- | -| 1 MAU | `$0.015` | `$0.015` | -| 1,000 correos electrónicos | `$2.50` | `$2.00` | -| 1,000 Notificaciones push | `$1.50` | `$1.00` | +| Elemento | | | +| ------------------------ | -------- | -------- | +| 1 MAU | `$0.015` | `$0.015` | +| 1000 correos electrónicos | `$2.00` | `$2.00` | +| 1000 Notificaciones push | `$1.00` | `$1.00` | -Los descuentos por volumen están disponibles como parte de [contratos personalizados](#custom-contracts). +Hay descuentos por volumen disponibles como parte de los [contratos personalizados](#custom-contracts). ## Funcionalidades {#features} -Aquí hay una lista de todas las funcionalidades de Trophy y el plan en el que están disponibles: +Esta es la lista de todas las funcionalidades de Trophy y el plan en el que están disponibles: - + - [Logros](/es/features/achievements) - [Rachas](/es/features/streaks) @@ -82,23 +79,46 @@ Aquí hay una lista de todas las funcionalidades de Trophy y el plan en el que e - [Clasificaciones](/es/features/leaderboards) - [Correos electrónicos](/es/features/emails) - [Notificaciones push](/es/features/push-notifications) -- Análisis de 7 días +- [Webhooks](/es/webhooks) +- Asistencia para la integración durante los primeros 30 días +- SLA de disponibilidad del 99,9 % +- Registros de auditoría de 7 días - + -- MAU adicionales permitidos -- Análisis de 12 meses +Todo lo incluido en , y además: - +- Asistencia continua para la integración +- Sincronización de datos +- Soporte por Slack con un canal de Slack dedicado +- Inicio de sesión único (SSO) +- Autenticación multifactor (MFA) +- Control de acceso basado en roles (RBAC) +- Registros de auditoría de 30 días -- [Webhooks](/es/webhooks) -- [Atributos personalizados](/es/features/users#custom-user-attributes) + + +Todo lo incluido en , y además: + +- Descuentos personalizados por uso y volumen +- Compromisos de uso reservado +- Multitenencia +- Control de residencia de datos +- SLA de disponibilidad del 99,99 % +- Informes SOC 2 e ISO +- DPA personalizado y residencia de datos alternativa +- Registros de auditoría, SLA y acuerdos de soporte personalizados +- Elegibilidad para el programa para startups + +## Contratos personalizados {#custom-contracts} + +Si tienes más de 100 K MAU y quieres hablar sobre contratos personalizados que incluyan descuentos por volumen adaptados a las necesidades de tu empresa, [ponte en contacto con nosotros](mailto:support@trophy.so) y estaremos encantados de ayudarte. -## Contratos Personalizados {#custom-contracts} +## Programa para startups {#startup-program} -Si tienes más de 100K MAU y te gustaría discutir contratos personalizados que incluyan descuentos por volumen para adaptarse a las necesidades de tu negocio, [contáctanos](mailto:support@trophy.so) y estaremos encantados de ayudarte. +Las startups que cumplan los requisitos pueden obtener un año gratis del plan para hasta 100 000 MAU. La aceptación en el programa no está garantizada. [Ponte en contacto con nosotros](mailto:support@trophy.so) para obtener más información. -## Consultar Tu Uso {#viewing-your-usage} +## Consulta tu uso {#viewing-your-usage} Puedes consultar tu uso del período de facturación actual en la [página de facturación](https://app.trophy.so/billing) del panel de Trophy y ver todas las facturas anteriores en tu portal de facturación. @@ -111,14 +131,14 @@ Puedes consultar tu uso del período de facturación actual en la [página de fa /> -## Preguntas Frecuentes {#frequently-asked-questions} +## Preguntas frecuentes {#frequently-asked-questions} - Cobramos a todos los clientes el día 1 de cada mes por el uso del mes anterior y por las tarifas del plan por adelantado. + Cobramos a todos los clientes el día 1 de cada mes: el uso se factura a mes vencido y las cuotas del plan, por adelantado. -## Obtener Soporte {#get-support} +## Obtener soporte {#get-support} -¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! +¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! diff --git a/es/account/security.mdx b/es/account/security.mdx new file mode 100644 index 00000000..9e69a9ba --- /dev/null +++ b/es/account/security.mdx @@ -0,0 +1,38 @@ +--- +title: Seguridad +description: Funciones de seguridad de la cuenta para tu organización de Trophy, + como el inicio de sesión único, la autenticación multifactor y el control de + acceso basado en roles. +og:description: Funciones de seguridad de la cuenta para tu organización de + Trophy, como el inicio de sesión único, la autenticación multifactor y el + control de acceso basado en roles. +icon: shield-check +--- + +import { PlanBadge } from "../components/plan-badge.jsx"; + + + Estas funciones están disponibles bajo petición en el plan . [Ponte en contacto con nosotros](mailto:support@trophy.so) y te ayudaremos con la configuración. + + +Trophy ofrece diversas funciones de seguridad para ayudarte a controlar quién puede acceder a tu organización y cómo inicia sesión. Para conocer los detalles sobre cómo Trophy protege tus datos, visita nuestro [Centro de confianza](https://trust.trophy.so). + +## Inicio de sesión único (SSO) {#single-sign-on-sso} + +El inicio de sesión único permite a los miembros de tu equipo iniciar sesión en Trophy con el proveedor de identidad de tu organización, de modo que el acceso a Trophy se gestiona junto con el resto de tus herramientas. + +## Autenticación multifactor (MFA) {#multi-factor-authentication-mfa} + +La autenticación multifactor añade un paso de verificación adicional cuando los miembros del equipo inician sesión y protege tu cuenta si una contraseña se ve comprometida. + +## Control de acceso basado en roles (RBAC) {#role-based-access-control-rbac} + +El control de acceso basado en roles te permite gestionar lo que puede hacer cada miembro del equipo en tu organización de Trophy según su rol. Para obtener información sobre los roles predeterminados disponibles para todas las organizaciones, consulta [Miembros](/es/account/members#manage-user-roles). + +## Registros de auditoría {#audit-logs} + +Los registros de auditoría te proporcionan un historial de la actividad en tu organización de Trophy. Las cuentas del plan Business conservan los registros de auditoría durante 30 días. + +## Obtener soporte {#get-support} + +¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! diff --git a/es/company/security.mdx b/es/company/security.mdx deleted file mode 100644 index 6ce8c2d0..00000000 --- a/es/company/security.mdx +++ /dev/null @@ -1,120 +0,0 @@ ---- -title: Seguridad -description: Cómo Trophy protege los datos de los clientes, controla el acceso y - aborda el cumplimiento normativo. -og:description: Cómo Trophy protege los datos de los clientes, controla el - acceso y aborda el cumplimiento normativo. -icon: shield-check ---- - -## Residencia de datos {#data-residency} - -Todos los datos de clientes se almacenan y procesan en infraestructura en la nube alojada en Londres dentro del cumplimiento de GDPR. - -Hay otras opciones de residencia de datos disponibles. [Contacta con soporte](mailto:support@trophy.so) para discutirlas. - -## Seguridad de datos {#data-security} - -### Cifrado {#encryption} - -| Área de control | Estado | Notas | -| --- | --- | --- | -| Cifrado en tránsito (TLS 1.2+) | Implementado | Todo el tráfico de API y web utiliza HTTPS/TLS. | -| Cifrado en reposo | Implementado | Los volúmenes de aplicación están cifrados. | -| Cifrado de base de datos en reposo | Implementado | Los volúmenes de base de datos y almacenes de caché están cifrados. | -| Gestión de secretos | Implementado | Las variables de entorno se almacenan en bóvedas seguras. | - -### Clasificación de datos {#data-classification} - -Trophy procesa las siguientes categorías de datos de usuario final: - -- Identificadores de usuario (IDs externos anónimos proporcionados por los clientes) -- Identificadores de zona horaria (IANA) -- Datos de eventos de gamificación (acciones, puntos, rangos de clasificación, marcas de tiempo y eventos similares) -- Preferencias de notificación (indicadores de suscripción a notificaciones push y correo electrónico) - -Por defecto, Trophy no almacena información de identificación personal (PII) directamente. Es posible enviar la siguiente PII a Trophy, pero no es obligatorio: - -- Nombre de usuario -- Dirección de correo electrónico - -También es posible enviar atributos personalizados (pares clave-valor gestionados por el cliente adjuntos a usuarios y eventos) a Trophy con el estado de PII determinado por el caso de uso del cliente. - -Trophy procesa las siguientes categorías de datos de cliente: - -- Información de cuenta de cliente y facturación - -Trophy no tiene acceso a las contraseñas de clientes ni a los datos de tarjetas de crédito. - -### Retención y Eliminación de Datos {#data-retention-and-deletion} - -- Los datos de clientes se retienen durante la vigencia del contrato y se eliminan dentro de los 30 días posteriores a la terminación del contrato mediante solicitud por escrito. -- Puede solicitar la eliminación de sus datos en cualquier momento contactando a [support@trophy.so](mailto:support@trophy.so). - -### Copias de Seguridad {#backups} - -- Instantáneas automatizadas diarias de todas las bases de datos -- Los procedimientos de restauración se prueban anualmente - -## Controles de Acceso {#access-controls} - -### Acceso Interno {#internal-access} - -| Área de control | Estado | Notas | -| --- | --- | --- | -| Control de acceso basado en roles (RBAC) | Implementado | Habilitado en todos los proveedores de nube | -| Autenticación multifactor (MFA) | Implementado | Habilitado en todos los proveedores de nube | -| SSO / proveedor de identidad | Implementado | Habilitado en sistemas internos relevantes | -| Revisiones de acceso | Implementado | Revisado anualmente | - -### Principio de Mínimo Privilegio {#principle-of-least-privilege} - -Todo el acceso interno sigue los principios de mínimo privilegio. A los ingenieros se les concede acceso únicamente a los sistemas requeridos para su rol. El acceso a la base de datos de producción está restringido a ingenieros senior y requiere justificación. - -### Aislamiento de Datos de Clientes {#customer-data-isolation} - -Los datos de cada cliente están aislados mediante claves API con alcance de cliente y filtrado a nivel de fila. Los clientes solo pueden acceder a sus propios datos. - -## Seguridad de la Aplicación {#application-security} - -### Prácticas de Desarrollo {#development-practices} - -- Todo el código de producción se somete a revisión obligatoria por pares antes de la fusión. -- Las políticas de protección de ramas lo aplican a nivel de repositorio, evitando commits directos. -- Las vulnerabilidades de dependencias se monitorean continuamente mediante alertas de seguridad de GitHub. -- Los secretos nunca se incluyen en el control de versiones. - -### Gestión de vulnerabilidades {#vulnerability-management} - -| Área de control | Estado | Notas | -| --- | --- | --- | -| Escaneo de vulnerabilidades de dependencias | Implementado | Automatizado en compilaciones | -| SLA de parches de seguridad | Implementado | Parches críticos aplicados en 24 horas | - -### Seguridad de API {#api-security} - -- Todo acceso a la API requiere claves de API autenticadas con ámbito limitado a la cuenta del cliente. -- Las claves de API pueden rotarse y revocarse en cualquier momento desde el panel de Trophy. -- Las claves de API se cifran antes de almacenarse en la base de datos. -- Se aplica un límite de solicitudes a todos los endpoints de la API para prevenir abusos. -- La verificación de firma de webhooks está bajo control del cliente. Trophy recomienda [verificar las firmas](/es/webhooks/security) en los endpoints de webhook. - -### Seguridad de aplicaciones web {#web-application-security} - -- El acceso al panel de Trophy está protegido por un proveedor de identidad que posee una certificación SOC 2 Type II independiente. El proveedor de identidad gestiona la autenticación de usuarios, incluyendo el almacenamiento de credenciales, la gestión de sesiones y la emisión de tokens. Trophy no almacena ni maneja contraseñas de usuario sin procesar. -- El acceso al panel sigue el principio de mínimo privilegio. Las cuentas de administrador otorgan y revocan el acceso de otros miembros. -- La autenticación multifactor (MFA) para cuentas de clientes está disponible [bajo solicitud](mailto:support@trophy.so). -- El inicio de sesión único (SSO) para cuentas de clientes está disponible [bajo solicitud](mailto:support@trophy.so). -- Las sesiones utilizan tokens JWT de corta duración con vencimiento automático. -- Las cuentas de clientes están completamente aisladas en la capa de datos. Las sesiones autenticadas tienen un ámbito limitado a la organización emisora y no pueden acceder a datos pertenecientes a otros clientes. -- El desarrollo de aplicaciones sigue el OWASP Top 10 como base para identificar y mitigar vulnerabilidades comunes de aplicaciones web, incluyendo ataques de inyección, autenticación rota y configuración de seguridad incorrecta. - -## GDPR {#gdpr} - -- Trophy actúa como procesador de datos para los datos de clientes según el GDPR. -- Trophy cumple completamente con todas las prácticas y procedimientos del GDPR para el manejo de datos. -- Estamos encantados de firmar un Acuerdo de Procesamiento de Datos (DPA) con los clientes. Solicite uno a su contacto de cuenta. - - - Contacte a [support@trophy.so](mailto:hello@trophy.so) para obtener una copia de nuestras políticas completas de seguridad y confianza. - diff --git a/es/components/plan-badge.jsx b/es/components/plan-badge.jsx index 59612aab..48dae777 100644 --- a/es/components/plan-badge.jsx +++ b/es/components/plan-badge.jsx @@ -1,26 +1,31 @@ export const PlanBadge = ({ plan }) => { + const styles = ` + .plan-badge { + background-color: #f0fdf4 !important; + background-image: linear-gradient(to bottom right, #bbf7d0, #f0fdf4, #bbf7d0) !important; + color: #4cc74a !important; + border: 0 !important; + font-weight: 500 !important; + box-shadow: inset 0 0 0 1px rgba(78, 200, 76, 0.4) !important; + } + .plan-badge-business { + box-shadow: inset 0 0 0 1px #4cc74a !important; + } + .plan-badge-enterprise { + background-color: #000000 !important; + background-image: linear-gradient(to bottom right, #737373, #000000, #737373) !important; + color: #ffffff !important; + font-weight: 600 !important; + box-shadow: inset 0 0 0 1px #000000 !important; + } + `; + return ( -
- + <> + + {plan.charAt(0).toUpperCase() + plan.slice(1)} - -
+ + ); }; diff --git a/es/features/emails.mdx b/es/features/emails.mdx index 9ce7c252..38b7f5ba 100644 --- a/es/features/emails.mdx +++ b/es/features/emails.mdx @@ -7,15 +7,13 @@ og:description: Utiliza flujos de email automatizados para extender tu icon: mail --- -import { PlanBadge } from "../components/plan-badge.jsx"; +Trophy puede enviar correos electrónicos automáticos a los usuarios a partir de desencadenantes clave, sin necesidad de escribir código. Aquí veremos cuáles son estos desencadenantes y cómo pueden formar parte de la experiencia de gamificación de tu producto. -Trophy puede enviar emails automatizados a los usuarios basados en activadores clave sin requerir código. Aquí veremos cuáles son estos activadores y cómo pueden formar parte de la experiencia de gamificación de tu producto. +## Tipos de correos electrónicos {#types-of-emails} -## Tipos de Emails {#types-of-emails} +Trophy admite 4 tipos de correos electrónicos, cada uno diseñado para un escenario habitual en la creación de experiencias de gamificación. -Trophy soporta 4 tipos de emails, cada uno diseñado para adaptarse a un escenario común en la construcción de experiencias de gamificación. - -Todos los emails son opcionales, pero los cuatro pueden usarse simultáneamente y controlarse desde la página de [Emails](https://app.trophy.so/emails/configure) en el panel de Trophy. +Todos los correos son opcionales, pero los cuatro pueden usarse a la vez y se controlan desde la página [Emails](https://app.trophy.so/emails/configure) del panel de Trophy. -- **Emails de logros** se envían a los usuarios cada vez que desbloquean un [Logro](/es/features/achievements). -- **Emails de resumen** se envían a los usuarios con una frecuencia predefinida para resumir el progreso. Los emails de resumen pueden configurarse para enviarse diaria, semanal, mensual o anualmente según tu caso de uso. -- **Emails de reactivación** se envían a los usuarios después de que se vuelven inactivos con el objetivo de traerlos de vuelta a tu aplicación. -- **Emails de rachas** se envían automáticamente a los usuarios recordándoles extender su [Racha](/es/features/streaks). +- **Los correos de Logro** se envían a los usuarios cada vez que desbloquean un [Logro](/es/features/achievements). +- **Los correos de resumen** se envían a los usuarios con una frecuencia predefinida para resumir su progreso. Puedes configurarlos para que se envíen a diario, semanal, mensual o anualmente, según tu caso de uso. +- **Los correos de Reactivación** se envían a los usuarios cuando dejan de estar activos, con el objetivo de que vuelvan a tu aplicación. +- **Los correos de Racha** se envían automáticamente a los usuarios para recordarles que extiendan su [Racha](/es/features/streaks). -## Envío de Emails {#sending-emails} +## Envío de correos electrónicos {#sending-emails} -Para comenzar a enviar emails con Trophy, necesitarás verificar tu dominio y añadir y activar plantillas de email para los tipos que deseas enviar. +Para empezar a enviar correos electrónicos con Trophy, debes verificar tu dominio y añadir y activar plantillas de correo para los tipos que quieras enviar. - Los usuarios pueden controlar qué notificaciones por email reciben a través del + Los usuarios pueden controlar qué notificaciones por correo reciben mediante la [API de preferencias de usuario](/es/features/users#notification-preferences) de Trophy. Esto te permite - construir un centro de preferencias en tu aplicación donde los usuarios pueden activar o - desactivar tipos específicos de emails. + crear un centro de preferencias en tu aplicación donde los usuarios pueden + activar o desactivar tipos de correo específicos. -### Verificación de dominio {#domain-verification} +### Verificación del dominio {#domain-verification} -Trophy admite el envío de correos electrónicos desde tu propio dominio desde el primer momento. Hay dos formas de configurar esto: Verificación del remitente y Verificación DNS. +Trophy permite enviar correos desde tu propio dominio de forma nativa. Hay dos maneras de configurarlo: Verificación del remitente único y Verificación de DNS. -Todas las configuraciones de dominio se pueden encontrar en la página [Dominios](https://app.trophy.so/emails/domains) del panel de Trophy. +Todos los ajustes de dominio están en la página [Dominios](https://app.trophy.so/emails/domains) del panel de Trophy. - Si buscas configurarte rápidamente, te recomendamos comenzar con la - Verificación del remitente y luego configurar la Verificación DNS cuando estés + Si quieres configurarlo rápidamente, te recomendamos empezar con la Verificación del remitente único y configurar la Verificación de DNS cuando estés listo para pasar a producción. @@ -62,18 +59,18 @@ Todas las configuraciones de dominio se pueden encontrar en la página [Dominios icon="check" href="#sender-verification-basic" > - Verifica rápidamente una sola dirección de correo electrónico + Verifica rápidamente una única dirección de correo electrónico - - Recomendado para uso en producción + + Recomendada para uso en producción #### Verificación del remitente (básica) {#sender-verification-basic} -Durante la incorporación, se te pedirá que configures la Verificación del remitente. Esta es una forma muy sencilla de verificar rápidamente una única dirección de correo electrónico que deseas usar con Trophy sin necesidad de cambiar código ni configuraciones DNS. +Durante la incorporación se te pedirá configurar la Verificación del remitente. Es una forma muy sencilla de verificar rápidamente una única dirección de correo electrónico que quieras usar con Trophy, sin necesidad de cambiar código ni ajustes de DNS. -Se te pedirá que ingreses la dirección de correo electrónico, el nombre del remitente y el correo de respuesta que deseas que Trophy utilice al enviar correos: +Se te pedirá que introduzcas la dirección de correo electrónico, el nombre del remitente y el correo de respuesta que quieres que Trophy use al enviar correos: -Trophy enviará un correo de verificación a esa dirección. Simplemente haz clic en el enlace del correo para que Trophy sepa que eres el propietario de la dirección y estarás listo. +Trophy enviará un correo de verificación a esa dirección. Solo tienes que hacer clic en el enlace del correo para confirmar a Trophy que eres el propietario de la dirección, y ya estará todo listo. - El correo que recibas provendrá de nuestro proveedor de correo, Postmark. ¡Así - que estate atento a 'Postmark Support' en tu bandeja de entrada! + El correo que recibirás procederá de nuestro proveedor de correo electrónico, Postmark. ¡Así que busca + «Postmark Support» en tu bandeja de entrada! -La Verificación del remitente es excelente para comenzar, pero tiene la limitación de que no te beneficiarás de tu reputación de correo existente y solo podrás enviar correos desde una dirección. - -Además, si deseas cambiar la dirección en el futuro, tendrás que realizar la Verificación del remitente nuevamente, lo cual puedes hacer en la [pantalla de configuración](https://app.trophy.so/integration?tab=domains). +La Verificación del remitente es ideal para empezar, pero tiene limitaciones: no te beneficiarás de la reputación de tu correo electrónico actual y solo podrás enviar correos desde una dirección. -#### Verificación DNS (Avanzado) {#dns-verification-advanced} +Además, si en el futuro quieres cambiar la dirección, tendrás que volver a realizar la Verificación del remitente, lo cual puedes hacer en la [pantalla de ajustes](https://app.trophy.so/integration?tab=domains). - - Esta función está disponible en el plan [Starter](/es/account/billing#starter-plan). - +#### Verificación de DNS (avanzada) {#dns-verification-advanced} -Para uso en producción, recomendamos la verificación DNS. Una vez configurada, esto te permite configurar Trophy para enviar correos electrónicos desde cualquier dirección en tu dominio. Así que si deseas cambiar la dirección en el futuro, no necesitarás verificar nuevamente. +Para uso en producción, recomendamos la verificación de DNS. Una vez configurada, te permite configurar Trophy para enviar correos electrónicos desde cualquier dirección de tu dominio. Así, si quieres cambiar la dirección en el futuro, no tendrás que volver a verificarla. -Completar la verificación DNS también te brinda todos los beneficios de cualquier reputación de dominio existente y es la mejor manera de asegurarte de que tus correos electrónicos eviten la carpeta de spam. +Completar la verificación de DNS también te permite aprovechar al máximo la reputación que ya tenga tu dominio y es la mejor forma de asegurarte de que tus correos electrónicos no acaben en la carpeta de spam. -Sin embargo, esto requiere agregar un par de nuevas entradas en tu DNS para permitir que Trophy verifique que eres propietario del dominio. +Sin embargo, esto requiere añadir un par de entradas nuevas en tu DNS para que Trophy pueda verificar que eres el propietario del dominio. -Sigue los pasos a continuación para configurar la verificación DNS: +Sigue los pasos a continuación para configurar la verificación de DNS: - - Dentro de la página de Correos electrónicos, encontrarás la pestaña [Dominios](https://app.trophy.so/emails/domains), que es donde configurarás todo lo relacionado con el dominio de correo electrónico que Trophy utilizará para enviar correos en tu nombre. + + En la página de Emails encontrarás la pestaña [Domains](https://app.trophy.so/emails/domains), donde configurarás todo lo relacionado con el dominio de correo que Trophy usará para enviar correos electrónicos en tu nombre. - Dirígete a la sección de Verificación DNS e ingresa el dominio que deseas configurar con Trophy. + Ve a la sección de verificación de DNS e introduce el dominio que quieres configurar con Trophy. - También puedes configurar una Ruta de retorno personalizada. Aquí es donde Trophy reenviará las notificaciones de correos rebotados para ayudarte a investigar problemas de entregabilidad: + También puedes configurar una Return Path personalizada. Es la dirección a la que Trophy reenviará las notificaciones de correos rebotados para ayudarte a investigar problemas de entregabilidad: - Una vez que hayas ingresado tu dominio de correo electrónico, Trophy te proporcionará los detalles de dos nuevos registros DNS que necesitarás agregar a tu proveedor de DNS. + Una vez que hayas introducido el dominio de correo, Trophy te proporcionará los datos de dos nuevos registros DNS que deberás añadir en tu proveedor de DNS. - - Primero está el registro **DKIM** que utilizan los proveedores de correo como Google para verificar la autenticidad de los correos electrónicos. Ingresa el nombre y el valor proporcionados como un nuevo registro **TXT** en tu proveedor de DNS. - - Segundo está el registro **Return Path**. Este se utiliza para reenviar notificaciones de rebotes de correo electrónico a tu dominio. Ingresa el nombre y el valor proporcionados como un nuevo registro **CNAME** en tu proveedor de DNS. + - El primero es el registro **DKIM**, que los proveedores de bandeja de entrada, como Google, utilizan para verificar la autenticidad de los correos electrónicos. Introduce el nombre y el valor proporcionados como un nuevo registro **TXT** en tu proveedor de DNS. + - El segundo es el registro **Return Path**. Se utiliza para reenviar a tu dominio las notificaciones de correos rebotados. Introduce el nombre y el valor proporcionados como un nuevo registro **CNAME** en tu proveedor de DNS. - Estas son las páginas de los proveedores de DNS más comunes sobre cómo configurar nuevos registros: + Estas son las páginas de los proveedores de DNS más comunes con instrucciones para configurar nuevos registros: - [Agregar un registro TXT](https://www.godaddy.com/en-uk/help/add-a-txt-record-19232) - [Agregar un registro CNAME](https://www.godaddy.com/en-uk/help/add-a-cname-record-19236) + [Añadir un registro TXT](https://www.godaddy.com/en-uk/help/add-a-txt-record-19232) + [Añadir un registro CNAME](https://www.godaddy.com/en-uk/help/add-a-cname-record-19236) - [Agregar registros DNS](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/#create-dns-records) + [Añadir registros DNS](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/#create-dns-records) - [Agregar un registro CNAME](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain/) - [Agregar un registro TXT](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237how-do-i-add-txtspfdkimdmarc-records-for-my-domain/#:~:text=this%20guide%20.-,DKIM%20records,-DKIM%20(DomainKeys%20Identified)) + [Añadir un registro CNAME](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain/) + [Añadir un registro TXT](https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237how-do-i-add-txtspfdkimdmarc-records-for-my-domain/#:~:text=this%20guide%20.-,DKIM%20records,-DKIM%20(DomainKeys%20Identified)) - Nota: Si estás utilizando un proxy como Cloudflare, asegúrate de desactivarlo para estos registros o Trophy no podrá verificarlos correctamente. + Nota: si usas un proxy como Cloudflare, asegúrate de desactivarlo para estos registros; de lo contrario, Trophy no podrá verificarlos correctamente. - + - Una vez que hayas agregado los dos registros en tu configuración de DNS, pulsa el ícono de actualizar y Trophy intentará verificar los registros por ti. + Una vez que hayas añadido los dos registros en la configuración de tu DNS, haz clic en el icono de actualizar y Trophy intentará verificarlos por ti. - Normalmente Trophy puede verificar los registros en unos pocos minutos, pero ten en cuenta que los cambios de DNS pueden tardar hasta unas horas en propagarse completamente. + Normalmente, Trophy puede verificar los registros en unos minutos, pero ten en cuenta que los cambios de DNS pueden tardar hasta unas horas en propagarse por completo. - Si ves la siguiente alerta, es posible que los registros aún no se hayan propagado o que haya un problema con tu configuración. + Si ves la siguiente alerta, es posible que los registros aún no se hayan propagado o que haya un problema en tu configuración. - Una vez que estés seguro de que todo está configurado correctamente en tu proveedor de DNS, pulsa actualizar y Trophy intentará verificar tus registros DNS una vez más. + Cuando te asegures de que todo está configurado correctamente en tu proveedor de DNS, haz clic en actualizar y Trophy intentará verificar tus registros DNS de nuevo. En cuanto veas el siguiente mensaje, sabrás que todo está verificado: @@ -198,11 +191,11 @@ Sigue los pasos a continuación para configurar la verificación DNS: - + - Una vez que tus registros DNS estén verificados, es momento de elegir la dirección de correo electrónico desde la que deseas enviar emails. Ten en cuenta que ahora que has verificado completamente tu dominio, puedes cambiar esta dirección cuando quieras sin afectar la capacidad de entrega. + Una vez verificados tus registros DNS, es el momento de elegir la dirección de correo electrónico desde la que quieres enviar los correos. Ten en cuenta que, ahora que has verificado completamente tu dominio, puedes cambiar esta dirección cuando quieras sin afectar a la entregabilidad. - Simplemente ingresa la dirección de correo electrónico desde la que deseas que Trophy envíe, el nombre que se mostrará a los usuarios en su bandeja de entrada cuando reciban correos y una dirección de correo de soporte que puedan usar para contactarte si es necesario: + Simplemente introduce la dirección de correo electrónico desde la que quieres que Trophy envíe los mensajes, el nombre que verán los usuarios en la bandeja de entrada cuando reciban los correos y una dirección de correo de soporte que puedan usar para contactarte si lo necesitan: -#### Correos de Reactivación {#reactivation-emails} +#### Correos de reactivación {#reactivation-emails} -Los correos de **Reactivación** envían mensajes de recuperación a los usuarios después de que se vuelven inactivos. Estos correos se envían según el siguiente cronograma: +Los correos de **reactivación** envían mensajes para recuperar a los usuarios cuando dejan de estar activos. Estos correos se envían según el siguiente calendario: -- Después de 3 días de inactividad -- Después de 5 días de inactividad -- Después de 7 días de inactividad -- Después de 14 días de inactividad -- Después de 30 días de inactividad +- Tras 3 días de inactividad +- Tras 5 días de inactividad +- Tras 7 días de inactividad +- Tras 14 días de inactividad +- Tras 30 días de inactividad -#### Correos de Racha {#streak-emails} +#### Correos de racha {#streak-emails} -Los correos de **Racha** recuerdan a los usuarios extender su racha antes de que expire. Estos correos se envían según la frecuencia de racha que configuraste en la [página de rachas](https://app.trophy.so/streaks): +Los correos de **racha** recuerdan a los usuarios que amplíen su racha antes de que expire. Estos correos se envían según la frecuencia de racha que hayas configurado en la [página de rachas](https://app.trophy.so/streaks): -- Si tu aplicación usa una **racha diaria**, este correo se enviará cuatro horas antes del final del día (en la zona horaria de cada usuario). -- Para **rachas semanales**, se enviará el viernes por la mañana. -- Para **rachas mensuales**, se enviará el día 25 del mes. +- Si tu aplicación usa una **racha diaria**, este correo se enviará cuatro horas antes de que termine el día (en la zona horaria de cada usuario). +- Para las **rachas semanales**, se enviará el viernes por la mañana. +- Para las **rachas mensuales**, se enviará el día 25 del mes. -#### Correos de Logros {#achievement-emails} +#### Correos de logro {#achievement-emails} -Los correos de **Logro** felicitan a los usuarios cuando completan un [logro](/es/features/achievements) que hayas configurado en Trophy. Estos correos se envían entre las 5 y las 9 PM el día en que se completa el logro, o al día siguiente a las 5 PM si es después de las 9 PM cuando el usuario completa el logro. +Los correos de **logro** felicitan a los usuarios cuando completan un [logro](/es/features/achievements) que has configurado en Trophy. Estos correos se envían entre las 17:00 y las 21:00 del día en que se completa el logro, o al día siguiente a las 17:00 si el usuario lo completa pasadas las 21:00. -#### Limitar Correos a Tipos Específicos de Usuarios {#limiting-emails-to-specific-types-of-users} +#### Limitar los correos electrónicos a tipos específicos de usuarios {#limiting-emails-to-specific-types-of-users} -Cada plantilla de correo puede limitarse a usuarios con valores específicos de [atributos de usuario personalizados](/es/features/users#custom-user-attributes). +Cada plantilla de correo electrónico se puede limitar a los usuarios con valores específicos de [atributos de usuario personalizados](/es/features/users#custom-user-attributes). -Para cada atributo al que desees restringir el correo, haz clic en el ícono de más junto al encabezado **Filtros de Usuario** de la plantilla de correo, luego selecciona el atributo e ingresa el valor deseado. Solo los usuarios que tengan **todos** los valores de atributo especificados recibirán correos de esta plantilla. +Para cada atributo al que quieras restringir el correo electrónico, haz clic en el icono de más junto al encabezado **Filtros de usuario** de la plantilla, selecciona el atributo e introduce el valor deseado. Solo los usuarios que tengan **todos** los valores de atributo especificados recibirán correos electrónicos de esta plantilla. -#### Zonas Horarias {#time-zones} +#### Zonas horarias {#time-zones} -Si especificas una zona horaria para cada usuario mediante [Identificación de Usuarios](/es/features/users#param-tz), Trophy utilizará esa zona horaria local para programar correos según la lógica especificada anteriormente. Si no proporcionas zonas horarias para los usuarios que identificas, Trophy utilizará por defecto la hora del Este. +Si especificas una zona horaria para cada usuario mediante [la identificación de usuarios](/es/features/users#param-tz), Trophy usará esa zona horaria local para programar los correos electrónicos según la lógica descrita anteriormente. Si no proporcionas zonas horarias para los usuarios que identificas, Trophy usará por defecto la hora del este (Eastern Time). ### Envío de correos electrónicos mediante webhooks {#sending-emails-via-webhooks} -En lugar de que Trophy envíe correos electrónicos por ti, puedes suscribirte a eventos de webhook de correo electrónico y enviar mensajes tú mismo a través de tu propio proveedor de correo o pipeline. +En lugar de que Trophy envíe los correos electrónicos por ti, puedes suscribirte a los eventos de webhook de correo electrónico y enviar los mensajes tú mismo a través de tu propio proveedor de correo electrónico o pipeline. -Cuando un correo electrónico esté programado normalmente, Trophy activa el webhook correspondiente para que puedas gestionar la entrega: +Cuando corresponde enviar un correo electrónico, Trophy dispara el webhook correspondiente para que puedas encargarte del envío: - [`emails.recap_due`](/es/webhooks/events/emails/recap-due) - [`emails.reactivation_due`](/es/webhooks/events/emails/reactivation-due) - [`emails.streak_reminder_due`](/es/webhooks/events/emails/streak-reminder-due) - [`emails.achievement_due`](/es/webhooks/events/emails/achievement-due) -Estos webhooks se activan en función de los propios disparadores de correo electrónico, independientemente de si las plantillas de correo electrónico están habilitadas o deshabilitadas, e independientemente de cualquier [filtro de atributos de usuario](#limiting-emails-to-specific-types-of-users) configurado en esas plantillas. Si necesitas un filtrado equivalente, aplícalo en tu controlador de webhook. +Estos webhooks se disparan según los propios desencadenantes de los correos electrónicos, independientemente de si hay plantillas de correo habilitadas o deshabilitadas, y de los [filtros de atributos de usuario](#limiting-emails-to-specific-types-of-users) configurados en esas plantillas. Si necesitas un filtrado equivalente, aplícalo en tu controlador de webhooks. -Los webhooks de correo electrónico respetan las [preferencias de notificación](/es/features/users#notification-preferences) y el [atributo de control](/es/platform/experimentation#control-ratio) utilizado para la experimentación. Trophy no activará webhooks de correo electrónico para usuarios que hayan optado por no recibir ese tipo de correo electrónico, o para usuarios en el grupo de control. +Los webhooks de correo electrónico respetan las [preferencias de notificación](/es/features/users#notification-preferences) y el [atributo de control](/es/platform/experimentation#control-ratio) utilizado para la experimentación. Trophy no disparará webhooks de correo electrónico para los usuarios que hayan rechazado ese tipo de correo ni para los usuarios del grupo de control. - Si estás enviando correos electrónicos tú mismo desde estos webhooks, asegúrate de que las plantillas de correo electrónico correspondientes estén desactivadas en Trophy. Los webhooks de correo electrónico se activan cuando se cumplen los disparadores incluso si las plantillas están deshabilitadas, pero si las plantillas permanecen habilitadas, Trophy también enviará sus propios correos electrónicos, lo que resultará en una entrega duplicada. + Si envías tú mismo correos electrónicos desde estos webhooks, asegúrate de que las plantillas de correo correspondientes estén desactivadas en Trophy. Los webhooks de correo se siguen activando cuando se cumplen los desencadenadores, incluso si las plantillas están desactivadas, pero si las plantillas siguen activadas, Trophy también enviará sus propios correos, lo que provocará un envío duplicado. ## Diseño de correos electrónicos {#designing-emails} -Trophy tiene un editor de correo electrónico basado en bloques con todas las funciones que te permite diseñar plantillas, controlando todo el texto del correo electrónico y las líneas de asunto. En la página de [correos electrónicos](https://app.trophy.so/emails/configure), añade plantillas en cada sección de [tipo de correo electrónico](#email-triggers) que desees utilizar. +Trophy incluye un editor de correos basado en bloques, con todas las funciones, que te permite diseñar plantillas y controlar todo el texto y los asuntos de los correos. En la página de [correos electrónicos](https://app.trophy.so/emails/configure), añade plantillas en cada sección de [tipo de correo](#email-triggers) que quieras usar. - Aplicación de ejemplo completa con un stack de gamificación completo usando Trophy. + Aplicación de ejemplo completa con un stack de gamificación completo que utiliza Trophy. ## Uso de agentes de IA {#using-ai-agents} -Conecta los servidores MCP de Trophy para que los agentes puedan leer documentación en tiempo real y configurar tu cuenta durante la integración. +Conecta los servidores MCP de Trophy para que los agentes puedan leer la documentación actualizada y configurar tu cuenta durante la integración. -Se recomienda usar los servidores MCP de Trophy para una experiencia de configuración y desarrollo más rápida. +Se recomienda usar los servidores MCP de Trophy para una configuración y una experiencia de desarrollo más rápidas. - + Búsqueda de documentación en tiempo real para agentes de IA. - - Configura tu cuenta de Trophy usando agentes de IA. + + Configura tu cuenta de Trophy mediante agentes de IA. - Configuración recomendada para usar ambos servidores MCP juntos. + Configuración recomendada para usar ambos servidores MCP en conjunto. diff --git a/es/platform/data-sync.mdx b/es/platform/data-sync.mdx index 118c32d0..03dcb232 100644 --- a/es/platform/data-sync.mdx +++ b/es/platform/data-sync.mdx @@ -7,43 +7,45 @@ og:description: Aprende a sincronizar datos de Trophy con tu almacén de datos o icon: database --- +import { PlanBadge } from "../components/plan-badge.jsx"; + -La sincronización de datos solo está disponible bajo solicitud. Por favor [contáctanos](mailto:support@trophy.so) para discutir tus necesidades. +Data Sync está disponible en el plan . [Ponte en contacto con nosotros](mailto:support@trophy.so) para comentar tus necesidades. -## ¿Qué es la sincronización de datos? {#what-is-data-sync} +## ¿Qué es Data Sync? {#what-is-data-sync} -La sincronización de datos te permite conectar Trophy a tu almacén de datos o base de datos y configurar una sincronización continua de datos de Trophy para fines de análisis y reportes. Esto permite a los equipos construir consultas personalizadas combinando datos internos con datos de Trophy. +La sincronización de datos te permite conectar Trophy a tu almacén de datos o base de datos y configurar una sincronización continua de los datos de Trophy con fines de análisis e informes. Así, los equipos pueden crear consultas personalizadas sobre sus datos internos combinados con los datos de Trophy. ## Destinos compatibles {#supported-destinations} -Actualmente Trophy soporta la sincronización de datos en bases de datos Postgres. +Actualmente, Trophy admite la sincronización de datos con bases de datos Postgres. - Estamos trabajando en añadir soporte para más destinos en el futuro. Por favor [contáctanos](mailto:support@trophy.so) para discutir tus necesidades. + Estamos trabajando para añadir compatibilidad con más destinos en el futuro. [Ponte en contacto con nosotros](mailto:support@trophy.so) para comentar tus necesidades. ## Conectar tu destino {#connecting-your-destination} -Por favor [contacta al equipo de soporte](mailto:support@trophy.so) para conectar tu destino. Comprenderemos los detalles de tu configuración, te ayudaremos a crear las tablas necesarias y estableceremos una conexión segura. +[Contacta con el equipo de soporte](mailto:support@trophy.so) para conectar tu destino. Analizaremos los detalles de tu configuración, te ayudaremos a crear las tablas necesarias y estableceremos una conexión segura. -Una vez conectado, Trophy recuperará los datos históricos y luego continuará sincronizando datos una vez por hora. +Una vez conectado el destino, Trophy rellenará los datos históricos y, después, seguirá sincronizando los datos una vez por hora. ## Tablas compatibles {#supported-tables} -Trophy soporta la sincronización de datos en las siguientes tablas: +Trophy admite la sincronización de datos con las siguientes tablas: -| Nombre | Nombre de tabla de destino | Descripción | -| --------------------------- | ------------------------------------ | ---------------------------------------------------------------- | -| Totales de métricas | `trophy_metric_totals` | Valor total de todos los eventos de métricas por día para cada usuario. | -| Totales de puntos | `trophy_points_totals` | Valor total de todos los Puntos otorgados por día para cada usuario. | -| Periodos de rachas | `trophy_streak_periods` | Historial de Rachas para cada usuario. | -| Congelaciones de rachas | `trophy_streak_freezes` | Congelaciones de Rachas para cada usuario. | -| Posiciones en clasificación | `trophy_leaderboard_rankings` | Posiciones en la Clasificación por ejecución. | -| Logros completados | `trophy_achievement_completions` | Logros completados para todos los usuarios. | +| Nombre | Nombre de la tabla de destino | Descripción | +| ----------------------- | -------------------------------- | -------------------------------------------------------------------- | +| Totales de métricas | `trophy_metric_totals` | Valor total de todos los eventos de métricas por día para cada usuario. | +| Totales de puntos | `trophy_points_totals` | Valor total de todos los puntos otorgados por día para cada usuario. | +| Períodos de rachas | `trophy_streak_periods` | Historial de rachas de cada usuario. | +| Congelaciones de racha | `trophy_streak_freezes` | Congelaciones de racha de cada usuario. | +| Posiciones de la clasificación | `trophy_leaderboard_rankings` | Posiciones de la clasificación por ejecución. | +| Logros completados | `trophy_achievement_completions` | Logros completados por todos los usuarios. | Los datos nuevos y actualizados se sincronizan con las tablas correspondientes una vez por hora. -## Obtener Soporte {#get-support} +## Obtener asistencia {#get-support} -¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! \ No newline at end of file +¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! \ No newline at end of file diff --git a/es/platform/multi-tenancy.mdx b/es/platform/multi-tenancy.mdx index e49ee8eb..5428138c 100644 --- a/es/platform/multi-tenancy.mdx +++ b/es/platform/multi-tenancy.mdx @@ -7,11 +7,12 @@ og:description: Aprende a usar la multi-tenencia para configurar y personalizar icon: building --- +import { PlanBadge } from "../components/plan-badge.jsx"; import MultiTenantClientInit from "../../snippets/multi-tenant-client-init.mdx"; import MultiTenantCurlRequest from "../../snippets/multi-tenant-curl-request.mdx"; -La multi-tenencia en Trophy solo está disponible bajo solicitud. Por favor [contáctanos](mailto:support@trophy.so) para discutir tus necesidades. +La multitenencia en Trophy está disponible en el plan . [Ponte en contacto con nosotros](mailto:support@trophy.so) para comentar tus necesidades. ## ¿Qué es la Multi-Tenencia? {#what-is-multi-tenancy} diff --git a/es/webhooks/introduction.mdx b/es/webhooks/introduction.mdx index 2290b6a7..2988f7a1 100644 --- a/es/webhooks/introduction.mdx +++ b/es/webhooks/introduction.mdx @@ -6,52 +6,48 @@ subtitle: Aprende sobre los webhooks en Trophy y cómo usarlos para potenciar integraciones de gamificación personalizadas. --- - - Esta funcionalidad está disponible en el plan [Pro](/es/account/billing#pro-plan) - - -Trophy tiene soporte para varios webhooks que se activan según eventos clave como `achievement.completed`, `leaderboard.finished` y `streak.lost`. +Trophy admite varios webhooks que se activan según eventos clave, como `achievement.completed`, `leaderboard.finished` e `streak.lost`. -Estos eventos te permiten activar código personalizado y potenciar experiencias de gamificación extendidas usando datos de Trophy. +Estos eventos te permiten activar código personalizado y habilitar experiencias de gamificación avanzadas con los datos de Trophy. -Todos los webhooks de Trophy se entregan mediante HTTP, lo que permite a los clientes suscribirse para recibir datos de Trophy a través de peticiones HTTP `POST` regulares. +Todos los webhooks de Trophy se entregan mediante HTTP, lo que permite a los clientes suscribirse para recibir datos de Trophy a través de solicitudes HTTP `POST` estándar. -## Comienza {#get-started} +## Primeros pasos {#get-started} -Aprende más sobre cómo integrar Trophy webhooks en tu aplicación a continuación. +A continuación, descubre cómo integrar los webhooks de Trophy en tu aplicación. - - Comienza a recibir eventos de webhook desde Trophy en menos de 10 minutos. + + Empieza a recibir eventos de webhook de Trophy en menos de 10 minutos. - Asegura los endpoints de webhook usando verificación de firma. + Protege tus endpoints de webhook mediante la verificación de firmas. - Aprende cómo Trophy gestiona los reintentos de eventos. + Descubre cómo gestiona Trophy los reintentos de eventos. - Maneja eventos duplicados y previene efectos secundarios no deseados. + Gestiona eventos duplicados y evita efectos secundarios no deseados. - Aprende a monitorear la entrega de webhooks y diagnosticar problemas. + Aprende a monitorizar la entrega de webhooks y diagnosticar problemas. -## Casos de Uso Comunes {#common-use-cases} +## Casos de uso habituales {#common-use-cases} -Los casos de uso comunes incluyen: +Entre los casos de uso habituales se incluyen: -- Activar secuencias personalizadas de correos electrónicos y notificaciones push +- Activar correos electrónicos personalizados y secuencias de Notificaciones push - Almacenamiento de datos (data warehousing) -- Potenciar flujos de trabajo no relacionados con gamificación como actualizaciones de suscripción y gestión de funcionalidades. +- Impulsar flujos de trabajo no relacionados con la gamificación, como actualizaciones de suscripciones y gestión de funcionalidades - Integración con plataformas IFTTT ¿Necesitas otro evento de webhook? [Cuéntanos](mailto:support@trophy.so) tu caso - de uso y lo desarrollaremos. + de uso y lo crearemos. -## Obtener Soporte {#get-support} +## Obtener soporte {#get-support} -¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! +¿Quieres ponerte en contacto con el equipo de Trophy? Escríbenos por [correo electrónico](mailto:support@trophy.so). ¡Estamos aquí para ayudarte! diff --git a/features/emails.mdx b/features/emails.mdx index d3239b22..e7fc213b 100644 --- a/features/emails.mdx +++ b/features/emails.mdx @@ -6,8 +6,6 @@ og:description: Use automated email flows to extend your gamification experience icon: mail --- -import { PlanBadge } from "../components/plan-badge.jsx"; - Trophy can send automated emails to users based on key triggers without requiring any code. Here we'll look at what these triggers are, and how they can form part of your product's gamification experience. ## Types Of Emails {#types-of-emails} @@ -96,11 +94,6 @@ Also, if you want to change the address in the future, you'll have to go through #### DNS Verification (Advanced) {#dns-verification-advanced} - - This feature is available on the [Starter](/account/billing#starter-plan) - plan. - - For production use we recommend DNS Verification. Once set up, this allows you to configure Trophy to send emails from any address on your domain. So if you want to change the address in future, you won't need to verify again. Completing DNS verification also gives you the full benefits of any existing domain reputation and is the best way to make sure your emails avoid the spam folder. diff --git a/getting-started/introduction.mdx b/getting-started/introduction.mdx index 643eb6c8..1b2f02ab 100644 --- a/getting-started/introduction.mdx +++ b/getting-started/introduction.mdx @@ -132,11 +132,11 @@ Before you deploy your integration to production, review the recommended steps i Trophy meters usage by **monthly active users (MAUs)**. An MAU is a user who sends at least one [metric event](/features/events) in a given calendar month. You are not charged for churned users who stop sending events. -The free tier includes **1,000 MAUs**. Paid plans start at $25/month with overages. +Plans start at $299/month with a 30-day free trial and **10,000 MAUs** included, with overages above that. - Free tier, paid plans, allowances, and overages. + Plans, allowances, and overages. Get an estimate of monthly costs based on expected usage. diff --git a/platform/data-sync.mdx b/platform/data-sync.mdx index 041cf2b8..cef27ac2 100644 --- a/platform/data-sync.mdx +++ b/platform/data-sync.mdx @@ -5,8 +5,10 @@ og:description: Learn how to sync Trophy data to your warehouse or database for icon: database --- +import { PlanBadge } from "../components/plan-badge.jsx"; + -Data Sync is only available on request. Please [get in touch](mailto:support@trophy.so) to discuss your needs. +Data Sync is available on the plan. Please [get in touch](mailto:support@trophy.so) to discuss your needs. ## What is Data Sync? {#what-is-data-sync} diff --git a/platform/multi-tenancy.mdx b/platform/multi-tenancy.mdx index 21f622a5..6855c7a7 100644 --- a/platform/multi-tenancy.mdx +++ b/platform/multi-tenancy.mdx @@ -5,11 +5,12 @@ og:description: Learn how to use multi-tenancy to help you set up and customize icon: building --- +import { PlanBadge } from "../components/plan-badge.jsx"; import MultiTenantClientInit from "../snippets/multi-tenant-client-init.mdx"; import MultiTenantCurlRequest from "../snippets/multi-tenant-curl-request.mdx"; -Multi-tenancy in Trophy is only available on request. Please [get in touch](mailto:support@trophy.so) to discuss your needs. +Multi-tenancy in Trophy is available on the plan. Please [get in touch](mailto:support@trophy.so) to discuss your needs. ## What is Multi-Tenancy? {#what-is-multi-tenancy} diff --git a/webhooks/introduction.mdx b/webhooks/introduction.mdx index 40723846..f0b9dab7 100644 --- a/webhooks/introduction.mdx +++ b/webhooks/introduction.mdx @@ -6,10 +6,6 @@ subtitle: Learn about webhooks in Trophy and how to use them to power custom gamification integrations. --- - - This feature is available on the [Pro](/account/billing#pro-plan) plan - - Trophy has support for a number of webhooks that fire based on key events such as `achievement.completed`, `leaderboard.finished` and `streak.lost`. These events allow you to trigger custom code and power extended gamification experiences using Trophy data. From 5edeaad58d9f614cabacfa7100817bffce39f99c Mon Sep 17 00:00:00 2001 From: Charlie Hopkins-Brinicombe Date: Sun, 25 Oct 2026 12:37:45 +0000 Subject: [PATCH 2/3] lock --- i18n.lock | 576 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 298 insertions(+), 278 deletions(-) diff --git a/i18n.lock b/i18n.lock index 9683a391..71ef80e2 100644 --- a/i18n.lock +++ b/i18n.lock @@ -12,40 +12,44 @@ checksums: content/4: f006c72c064fe55043883fb668c1325f content/5: 6d7b0a15f493d791c841a38f1600cf32 content/6: f022f5e6887eefdb99c133e6e4565a5f - content/7: 376277c8ad8aa96fabf619f4c3413eb8 - content/8: 7259af6f2beab58bf80236da5e4e52bd - content/9: 0041a26f29d09a46d2e0513ec27b4bb9 - content/10: 0ed8f09035dccbb5652afc6a9f1bddc7 - content/11: 07f664454ec76d01d64924c871978eb6 - content/12: b68c7ef663802ea750a75d2e1b6576b5 - content/13: 7ffacf18b0872e7ea06fe3ad1b877f28 - content/14: 2b90aad99e2883246f12ae7448eb75ab - content/15: 20e1d1ffd3de08ac0719c0c5fb7ef45f - content/16: a553e431e5e6c824f8548c478ee49a64 + content/7: db6faf33d4cb0f7ca20982e6b26f86b4 + content/8: 3dfcea8708fc2cf8031ec26f912245a4 + content/9: 7370dd04f81df51539ba1f87bd35c7fd + content/10: 1b6d6f543f1f6741b23df3d7d921e246 + content/11: 20e1d1ffd3de08ac0719c0c5fb7ef45f + content/12: 56de0fa1160d6c84f0ddf2ccd6704b61 + content/13: dfee51d53a0cfe13636b1225bcc4c704 + content/14: c0cf2fe804c44b1701510c7437d8176a + content/15: 46d64a36b39bdb0aa88286028978ae84 + content/16: 78079370bd1e17da4d8b26b86f878448 content/17: 77443ec4b6aadb3989da6774ecdbfe54 - content/18: 063dc420c318d4bcf7a055bb1f674ed4 - content/19: f59245085d8cfcaf119943a5e833ded6 + content/18: 7300a7ec9e4a346548de21b104c44868 + content/19: 0ccaadd3e178d6f558f8ea17e250aef2 content/20: e6f5e00dcbf5f8d0396785387761f86e - content/21: f5d22de611693ed29c3f4e4baa8af675 - content/22: bc761fe3bb3fa36bd8e0597ac15f0f19 + content/21: 5ff3594474ed7b6d8a2f9a66f9084f02 + content/22: 1a3671f5c927f5844f9312d19c35fb48 content/23: 23bb91751d278dadc5f08171413dd803 content/24: 9dacb76fd2cfd75cfc5d2b0cdc535d59 content/25: cea2f0c96ebf60ff0e28c81414caf9ce - content/26: 61920c381ee23a06ba25f86cbbf87896 - content/27: 46f56263ce79a61e6c302fc745cdb500 - content/28: f58fb6643e99a836416ba7a90f3e37ce - content/29: 4d644fb6aa8ed65542b6a12ded2a5f5d - content/30: 77ffab157341a035937d34966ed82fca - content/31: 8f913f1810980e3cfd576c6aa3704fb8 - content/32: 0288d43a8e47990960f6fe8903b9a8aa - content/33: 75f650be2ee26c19e702ee477bdc50de - content/34: 735a49f8018ffb1e2b53f77dc8a1fc22 - content/35: b17980588574ebeea2ebce919f1787bc - content/36: 225b3ea4d5a3a6922e350efd44d209c5 - content/37: 79524f874744893afda00224a0203ea6 - content/38: d52c2865c51916568596f152c87ba3d9 - content/39: 10e8e9a59847ddd720c6d06b12c7b120 - content/40: 9799b973234bf2d10d5c971b267f55a5 + content/26: 77ffab157341a035937d34966ed82fca + content/27: 7502eb5c616659d19c4f370e3db3d7be + content/28: 6a27f1ca7a27723e739fae214aa1201e + content/29: 6f2d59c22e9e76822437807109c6e61b + content/30: b4f2413c663125e1d3dd88094bf092f5 + content/31: adcde62def9b2039e6c9e8ce8e190c75 + content/32: 924a10f1018d9697c261dbbcf792e2d4 + content/33: dc72c929aad298b553b7023b59baa429 + content/34: 0288d43a8e47990960f6fe8903b9a8aa + content/35: 75f650be2ee26c19e702ee477bdc50de + content/36: c2efb676554df8ffaf20c819efb5e60f + content/37: e7cead93cc1b47f482da1bf3e8c09887 + content/38: 735a49f8018ffb1e2b53f77dc8a1fc22 + content/39: b17980588574ebeea2ebce919f1787bc + content/40: 225b3ea4d5a3a6922e350efd44d209c5 + content/41: 79524f874744893afda00224a0203ea6 + content/42: d52c2865c51916568596f152c87ba3d9 + content/43: 10e8e9a59847ddd720c6d06b12c7b120 + content/44: 9799b973234bf2d10d5c971b267f55a5 7a9822943282d873b09d0aaf22b2c5d5: meta/title: 9a189e20f01fac4b4245b8cc2b12d8a8 meta/description: 5571b412439b334135a4bf74669ae844 @@ -485,8 +489,8 @@ checksums: content/24: 6c3a473ca25ba59eceeaecea177667d5 content/25: 9115457f73326a2803933d910692e144 content/26: 592405c98d8a268886bc88f3f0fe22b1 - content/27: 625962aa1288ea461a4f16c9499c04d4 - content/28: a2f88525293f1e14f44a31d7175a3074 + content/27: 1e3d09b9bb23d7ee309e0b3aadb64189 + content/28: bc0352e16f81eede06c56b686d34f72c content/29: 10e8e9a59847ddd720c6d06b12c7b120 content/30: 9799b973234bf2d10d5c971b267f55a5 eb1cf4bac81e58672157fa85b4971832: @@ -2265,19 +2269,18 @@ checksums: meta/title: 439cb79e8dfd7923d35b85cfbb6fd201 meta/description: 3075d0191b359a2a7e16807c32ba4675 meta/subtitle: 3075d0191b359a2a7e16807c32ba4675 - content/0: 27ab400597ce14e9c74f456319bee04f - content/1: f32beb84c8723cce21eb30029a1e5641 - content/2: 15a9d2ffa09c153799b89b65e8ff171c - content/3: 42d02e39a9c243251aa6202d83e71722 - content/4: 661e97346571e3f16d7b8aaf91b7be9f - content/5: 068c0e7a63654854a8169caf8eabb3ed - content/6: b31863b497e29b0f8c12333ac6fa6839 - content/7: 7d7e851102fde7a08fac048947f22a7c - content/8: 4d0fcd5858886fa732277c52c111b8a5 - content/9: c9cb21ead05108a64ae1fc776a6908eb - content/10: c51c754f9aa67fd29602d05f30e6b897 - content/11: 10e8e9a59847ddd720c6d06b12c7b120 - content/12: 9799b973234bf2d10d5c971b267f55a5 + content/0: 5e3d5943bffe9986bdcadb626012081f + content/1: 15a9d2ffa09c153799b89b65e8ff171c + content/2: 42d02e39a9c243251aa6202d83e71722 + content/3: 661e97346571e3f16d7b8aaf91b7be9f + content/4: 068c0e7a63654854a8169caf8eabb3ed + content/5: b31863b497e29b0f8c12333ac6fa6839 + content/6: 7d7e851102fde7a08fac048947f22a7c + content/7: 4d0fcd5858886fa732277c52c111b8a5 + content/8: c9cb21ead05108a64ae1fc776a6908eb + content/9: c51c754f9aa67fd29602d05f30e6b897 + content/10: 10e8e9a59847ddd720c6d06b12c7b120 + content/11: 9799b973234bf2d10d5c971b267f55a5 bedbce791777a52771d6fb8b7bf12f19: meta/title: ea67ee64bdad4275510252b5c14b708a meta/description: c85b849b71ca84751343c19c11bf286e @@ -2823,8 +2826,8 @@ checksums: meta/description: 7c176a9153481df029a9eaa2e967741b meta/og%3Adescription: 7c176a9153481df029a9eaa2e967741b meta/icon: 4c2dd5c4c78d9d4fbe50b60fd1323cab - content/0: d84956574315402e41892edf5ce50b21 - content/1: c8db69eb608fd9141deb1de43bef93ba + content/0: 4cef45dee2858648c830b0f791073e14 + content/1: 1799d0d6e9c2a4edd9fa87ddead3e278 content/2: bf51098a1b7b5bc58bd38c98a4ed30cd content/3: 683ff53cfc10212493fac6e09f6126fa content/4: bf321f65d693228896bd1b5c6cfb389e @@ -3643,223 +3646,221 @@ checksums: meta/description: 0a913183ce5ee8cfafa21bafe1b0a3e1 meta/og%3Adescription: fc22d5e86236430e7dc9d000258efd36 meta/icon: 160aae6b1c20a98c1e38716a5be567c5 - content/0: bc25e42de2185c699bd8a6b63ebac6ab - content/1: 2e7030b8147ecd56969605e18ae13334 - content/2: af3b63df0069e40017abc213d78a214f - content/3: c0dca960423e8abe63790016b7ffacff - content/4: 4b4af9147a6ab54df43ea960606287a8 - content/5: 0190d56659ba2675fc64c432c365d004 - content/6: 3ce4c91c31000ce6d0fa8bf7e195c527 - content/7: c7d9252180af6e5170790401aa32f690 - content/8: c778a75d1f95d033141221a0fe95411d - content/9: b9a3b11685cbde87b212d1b8a0de8d0f - content/10: c2a9da0ce1e06b64a34870aca80326ce - content/11: f6e1d8e46a4e42f433108d9df16b7667 - content/12: d5fa052d50e6c6dac2edda13c31b1953 - content/13: cc7fe103106979eb1fa607496c0bccf2 - content/14: d5a557794f0d2331da79c46194fb3dce - content/15: 13f3bd7449d990bf14a1068a435a8388 - content/16: 2a032f024e309c6203720cfdf3f96767 - content/17: 2f6fa8391597c430b19d3d72ef4c40cf - content/18: 668b0725a438dd27a425e2a29dff055b - content/19: b32d33fa36b9c7a48f05412ae7397bd1 - content/20: cc1c4a73df7124b9cb056b7cd5af95b7 - content/21: 683cbf5067f084f1b3b6e93c8ab2c0bf - content/22: bb9d8b0e3c223d655188de57dded0255 - content/23: 3f1e990fb837d797b34036e42ae0f688 - content/24: 2d1866c34c069ba46948a362c014c3a7 - content/25: 5c534ce210d8817cd9fa23ad65fc1391 - content/26: 304453f0d6269c6236b5bd3fb6c9412e - content/27: 368881fb315139c3d93d5164405ee750 - content/28: 0070c153aada4fd1f4685dc59df4f079 - content/29: b2320f5243314f9690237943b24abb3c - content/30: 3b1170cb417e20d1e2cb35d16b134709 - content/31: 4a7ce2a5d9650417a18e80a57fcdbd1f - content/32: 5e955a569ac971d9f98eb2c8dfbbdc44 - content/33: 640d0b31f6faa54914d25c81f5dbf413 - content/34: dd9942b324c665bed12a108c2b59bea5 - content/35: a7e98c8c68a853b4361bfba2d3169d81 - content/36: 59b9c367b5a38f595535d5bebae42a33 - content/37: 6b31c2b25f5d2a9c990facdcc5f1d1f9 - content/38: a89bc766c3d2ba7a49470be21da84625 - content/39: 6c990daf6e2e6499e3a74e7cc7774742 - content/40: 21364ab9ab85810a97c4bf40f7a356fe - content/41: 640d0b31f6faa54914d25c81f5dbf413 - content/42: a3300feff0a4a000d391b16a88ee0362 - content/43: b37149167a0e153e47b094e8766a645e - content/44: 308978b243fcb3662141f0e005a2d504 - content/45: be956c6f983df59ece616c78ba6d798b - content/46: a1eda5e09d34a7b968581fd0db0f5d4a - content/47: 66e3fc8398d10a1432b7bfae7bd59ee1 - content/48: 18b0446e79e594e4d0004a9fbc127ee6 - content/49: 62b4b7fd495689256ae56ef0b5b2f91d - content/50: 640d0b31f6faa54914d25c81f5dbf413 - content/51: 5e14897687834e85a7d225d56e375a9f - content/52: 3f975822a9deb3e765d368e42ea5780a - content/53: f518210d33440c953be060e71f153dae - content/54: cf70d4cec5dcce2a15c7caa09912cd44 - content/55: 640d0b31f6faa54914d25c81f5dbf413 - content/56: a01a451f7aba1a80f0af7148df811dfc - content/57: 6fb10904ed0f3f4a59ad18d2029a2281 - content/58: baa86d1c09371a07fb8b8f843e01d6f7 - content/59: 19e423f1c9380680e8527c4a65ffd114 - content/60: 28246ddcc14f82de139fb775620cb00c - content/61: 98afb03d2a39b85d1619082fc10948e0 - content/62: 606082a0f1fbe2e04c8c9a16d1abbd66 - content/63: c0b0f1453346c2c9eafcd0c462cf6b72 - content/64: 7a5306ca87adebb18badda8c71c2fd50 - content/65: caa2b0d55e3e16eac468e2ac24f75638 - content/66: bd08c9a99ac9de9e744acf707c63d9c7 - content/67: c35f19e893edcf5133314d92529f6776 - content/68: 2e1d1abf0e6f9aff7258f46c2abcae89 - content/69: 5dc226472c65b4ba45180679e99e2d45 - content/70: 8ad5437c22d9355e6f49fb3a02e6218e - content/71: 7d1d6f0bcf797c34f2f57b58dd206da0 - content/72: 436149dcd01091c2276a993508158b50 - content/73: 1a86273f9defa48d8cab18812e0e5fda - content/74: 7b6708ead697ca05dc79d75e5eae037d - content/75: eb42360f1b15ba1d610c0d5c8816b9e9 - content/76: 6141453684d77b2c3221b512f426ea2c - content/77: 57c20e44737342a99aa5754ff5b802e4 - content/78: ed0e6037a90a6fd162839b0618fe4369 - content/79: 354d0d3c5a9bdba749c1146bde5c0344 - content/80: ef6c6d46c7df905d5e13e39cccd1d5bd - content/81: 0a35607da09efc4106b3a9e7aa9c8220 - content/82: f2824e8ed4a13d0c778ccb2b9613cc9f - content/83: a5f6b04a7374f096fcec997d5c2de070 - content/84: b70f971eb946e783fefeb887976e8dbb - content/85: 38e583571422983757a56b6323d8a3ca - content/86: 417888d483d993505a99ddf1ec4bcd0e - content/87: 3fe63631cb6de88c8938ce4ce3d1b0e8 - content/88: a2031b376891aa1860ecbee1eac49976 - content/89: b3b73f874b36b6cbbbfef913ef9851fd - content/90: e3ba4a3b5328d89a5bcc630b335548cc - content/91: c04873471c4673cd9a23c3958272cfad - content/92: 8914aeaeaf0ed3782898c88633301d73 - content/93: 78aa41f174aa26fd12e737c67a035814 - content/94: 411117e702783b1917e147f6a52af4b0 - content/95: 2f2fa5989eaaa3e1d05c174bc90b7cb8 - content/96: 39feb14c150dff05fa02bfe5c4545ff2 - content/97: 1c8d7a860647a4d0aec442f5f9a2abb4 - content/98: b5d2e2fe5c4a70591235066277fb9219 - content/99: 3b918057d38e55597085ba4d01c12884 - content/100: 74cf359e4af0ff812d461eef16673990 - content/101: 64316f3281c6e36abe5616a2f5b744cb - content/102: 1fcb0a5fa6b1a235060c40c76485820a - content/103: c3ba38b36442828ddda8a194521f82fc - content/104: 943030140688dc88ea9a649fc9bff4f4 - content/105: 199bab7d43cd2c3718ddd29fe352a57e - content/106: 3b762e05c6bc198a04fb224db346babc - content/107: 680f1249b3ff429ed9a2ef19c1b8e212 - content/108: 011bf1957190b6d971ad4cbbe1cab634 - content/109: 30931622989be0faac6c110e6052dd27 - content/110: 065c20446dcb53ba98133252acb8a1ac - content/111: cd720baa2bbbdbabcef92617650d4f16 - content/112: 581484e744d4533441a7ecf5f9ee6936 - content/113: 2d5dce1b09b1c64b5de03ad2203f4f94 - content/114: df72ce71eb9d2d6d7e845cb0b3f6261f - content/115: bf54429c13ef27bcfe00b729568d186a - content/116: 8bb7a22fd32df91aa36a454533725662 - content/117: f91452426f73f49e8235c1fb784e3dff - content/118: 28ce2587fdb12e939d92b4f54a404905 - content/119: d713910ab5fa87d9f75711e3e5ed9409 - content/120: bd9e082565b399e812317b1e7836a3d9 - content/121: 450ad7f99b79b12599856f813b9ef758 - content/122: 4f9f49c4756aa59d40fcc76ca15669a9 - content/123: 8c531f8a7313cfc1ceb3f6018cac16fc - content/124: 361099ea70d7ad746b9da27195c8be71 - content/125: fc88562665f3e131e6fb9642913b52dd - content/126: 4f9f49c4756aa59d40fcc76ca15669a9 - content/127: 7382fbe98f4952c6d97f2efa3fbcc506 - content/128: 882a7d9a68fa18059ce74df22dbfd5f4 - content/129: d67a52d7440b6c4c0965e04db763eb6f - content/130: 7a749862caf740263429cc19939a9119 - content/131: c096ff1233fbf70fa8c747d382128db8 - content/132: d4da3229e85339bd84cb499ebe8a6c2c - content/133: 5091faf9d062336fcfdd9d623ff3b18c - content/134: 9cf453bfdea447dd15fdcc20caeaac67 - content/135: 84ec886d5ec481a1fa291f254b0c1c3b - content/136: f5827cddbd655ee17c53a1d930361952 - content/137: 5fcc241c4e137b7b95e879d3d6faf2e0 - content/138: 87ff001cbfffbea489f35237ec4b3a00 - content/139: c4612004b172a67ada8b735788931f4a - content/140: 01a046b7e20adf818f1775ad648dbb31 - content/141: ce183890b70b224575ccc9b15ac82d92 - content/142: 9fe207b4b395adc6fe443a73115cb521 - content/143: f9742e32d031ba0f61c07867bac327cf - content/144: 63afeb70198c6ae9db78a178755be1c8 - content/145: 33e488bde1644b268ede8ba7e74fa610 - content/146: 368c363e427543da7021aadc3b36f2b1 - content/147: 28da394c0f3d335265dba90d450905e5 - content/148: f8c543225adc27eeb4d3497778205b36 - content/149: d676024f1d9a798af6b0cd1578db4cdc - content/150: 22eba547201080e2264d228eb7127a5c - content/151: 36d87035e9dc67ff06d8acf329082cdc - content/152: f05f450fffcb17520c441ab9789f40ce - content/153: a1903b45100c2dff202ae1ce39f2179d - content/154: bc2f4a04752cebc1ea90de3c91b90f43 - content/155: e6cd1063a125409716c56cd6c404da08 - content/156: f05f450fffcb17520c441ab9789f40ce - content/157: 665f1a0f97a8ed964884577a65ac7405 - content/158: 3b3b915d60481551e71423bd11395b12 - content/159: f05f450fffcb17520c441ab9789f40ce - content/160: 1645781d73c1c0475ba031a6d7fa3dcd - content/161: 56b77a78f876b44632c2b0666b810232 - content/162: f05f450fffcb17520c441ab9789f40ce - content/163: acb42fb34c6121a0a35d01eb5e67c95f - content/164: f7360690a2ff9faa4c75e37b1f1a1d01 - content/165: f05f450fffcb17520c441ab9789f40ce - content/166: df0c99fa84dab2313889b049344cf146 - content/167: 0dffa2a4fc435694ba533c066b2b56e2 - content/168: 7d6a67016780eec0da8c334a203df5c3 - content/169: 62a2b9d120a65791694f0684245656df - content/170: 718fbc0abb4d1c2972cbb75a09653065 - content/171: 786278b58be1807f26febd9152251615 - content/172: 57eb390ff7518efc9d723519e4d3ec36 - content/173: 211bd6c398c012e711fa7ed06b46b5c0 - content/174: dfa98a8b67a63b030fc2c49d13d2e553 - content/175: a3a0033264f0b93f071bb0cfb3543dac - content/176: 756a8b80c92aca7240b202c39b0f06da - content/177: 61859b3e15814c12d2533bb28358c7fd - content/178: 485f59fd0219fb443ad44115d3762f30 - content/179: 08618cca4b06b125b9f97b3e99870f74 - content/180: 83fe5472294960bdf0369226f3bc8270 - content/181: 87588d0c75b0a011dc313537df66d305 - content/182: b639f7f3c9a525d8fdff99f68327620e - content/183: f8885cab1080690f0a98244889b264d2 - content/184: 8c92b1f3abd89fd3ef7020a92b903647 - content/185: 23fe4696250a4cfa4dc7b81737b70fe4 - content/186: 4c2227fde437ddfaf83aa8217e369a4b - content/187: 9000d40f65dda313c2e85f53cba55295 - content/188: 2cb23f69c40ebbb1e7a4e2358af302d5 - content/189: 58641fd781018e4cd5861d4c991d7dd0 - content/190: b7e82d68de4a6969f82b511dcb4a74da - content/191: e1d68e28af0e1354c27bfbcefb680be8 - content/192: 429bbf0aacdfd972a01387b0ddd0627b - content/193: 6db8a0e4b5e45c3fe5e1f108373c9fef - content/194: 441d7f8657a9c3e3c08b24b1cd541111 - content/195: 343400cceaf7cce9cb41b26e63491635 - content/196: dc70643de2ec93f00fba9556ecdeb199 - content/197: 215a82296dd6ee5646c5820decba94d4 - content/198: 76961d597344bf9f07e7e9ed0e4ff095 - content/199: 56d8f1462eb7a6945a7f11dc0a3f40a1 - content/200: 0436f9cd012089496684c45991fea223 - content/201: 919c1be47d9dac80aded7b495df194dd - content/202: f6439c5eed956c464682e3496e39c1ca - content/203: 3439bf307995fd9be5d323b4b6517b5e - content/204: d9db4c5d634d8e0f96b5ec6f998b647d - content/205: a56bd23f4cec82e8b6276655027a3d57 - content/206: 59ab60d3b78af736e0dd26f250f8c918 - content/207: a88eccd56b7e86a6673ebdcf9ef52bc8 - content/208: 04c2cedc52b3d387c54971a649527bf7 - content/209: b826a04fdee8e72e4ccfd08d9ae6df02 - content/210: 79524f874744893afda00224a0203ea6 - content/211: ae9dd7c61faf42e2e991dd2273f74c4e - content/212: 4f9f49c4756aa59d40fcc76ca15669a9 - content/213: c6cadae7373ca2e8b2159a4c07e9421b - content/214: 7a451aee1061c1cf2a4108f13acbafff - content/215: 10e8e9a59847ddd720c6d06b12c7b120 - content/216: 9799b973234bf2d10d5c971b267f55a5 + content/0: f26b08dcc83468c45975b2d3a4835bda + content/1: af3b63df0069e40017abc213d78a214f + content/2: c0dca960423e8abe63790016b7ffacff + content/3: 4b4af9147a6ab54df43ea960606287a8 + content/4: 0190d56659ba2675fc64c432c365d004 + content/5: 3ce4c91c31000ce6d0fa8bf7e195c527 + content/6: c7d9252180af6e5170790401aa32f690 + content/7: c778a75d1f95d033141221a0fe95411d + content/8: b9a3b11685cbde87b212d1b8a0de8d0f + content/9: c2a9da0ce1e06b64a34870aca80326ce + content/10: f6e1d8e46a4e42f433108d9df16b7667 + content/11: d5fa052d50e6c6dac2edda13c31b1953 + content/12: cc7fe103106979eb1fa607496c0bccf2 + content/13: d5a557794f0d2331da79c46194fb3dce + content/14: 13f3bd7449d990bf14a1068a435a8388 + content/15: 2a032f024e309c6203720cfdf3f96767 + content/16: 2f6fa8391597c430b19d3d72ef4c40cf + content/17: 668b0725a438dd27a425e2a29dff055b + content/18: b32d33fa36b9c7a48f05412ae7397bd1 + content/19: cc1c4a73df7124b9cb056b7cd5af95b7 + content/20: 683cbf5067f084f1b3b6e93c8ab2c0bf + content/21: bb9d8b0e3c223d655188de57dded0255 + content/22: 3f1e990fb837d797b34036e42ae0f688 + content/23: 5c534ce210d8817cd9fa23ad65fc1391 + content/24: 304453f0d6269c6236b5bd3fb6c9412e + content/25: 368881fb315139c3d93d5164405ee750 + content/26: 0070c153aada4fd1f4685dc59df4f079 + content/27: b2320f5243314f9690237943b24abb3c + content/28: 3b1170cb417e20d1e2cb35d16b134709 + content/29: 4a7ce2a5d9650417a18e80a57fcdbd1f + content/30: 5e955a569ac971d9f98eb2c8dfbbdc44 + content/31: 640d0b31f6faa54914d25c81f5dbf413 + content/32: dd9942b324c665bed12a108c2b59bea5 + content/33: a7e98c8c68a853b4361bfba2d3169d81 + content/34: 59b9c367b5a38f595535d5bebae42a33 + content/35: 6b31c2b25f5d2a9c990facdcc5f1d1f9 + content/36: a89bc766c3d2ba7a49470be21da84625 + content/37: 6c990daf6e2e6499e3a74e7cc7774742 + content/38: 21364ab9ab85810a97c4bf40f7a356fe + content/39: 640d0b31f6faa54914d25c81f5dbf413 + content/40: a3300feff0a4a000d391b16a88ee0362 + content/41: b37149167a0e153e47b094e8766a645e + content/42: 308978b243fcb3662141f0e005a2d504 + content/43: be956c6f983df59ece616c78ba6d798b + content/44: a1eda5e09d34a7b968581fd0db0f5d4a + content/45: 66e3fc8398d10a1432b7bfae7bd59ee1 + content/46: 18b0446e79e594e4d0004a9fbc127ee6 + content/47: 62b4b7fd495689256ae56ef0b5b2f91d + content/48: 640d0b31f6faa54914d25c81f5dbf413 + content/49: 5e14897687834e85a7d225d56e375a9f + content/50: 3f975822a9deb3e765d368e42ea5780a + content/51: f518210d33440c953be060e71f153dae + content/52: cf70d4cec5dcce2a15c7caa09912cd44 + content/53: 640d0b31f6faa54914d25c81f5dbf413 + content/54: a01a451f7aba1a80f0af7148df811dfc + content/55: 6fb10904ed0f3f4a59ad18d2029a2281 + content/56: baa86d1c09371a07fb8b8f843e01d6f7 + content/57: 19e423f1c9380680e8527c4a65ffd114 + content/58: 28246ddcc14f82de139fb775620cb00c + content/59: 98afb03d2a39b85d1619082fc10948e0 + content/60: 606082a0f1fbe2e04c8c9a16d1abbd66 + content/61: c0b0f1453346c2c9eafcd0c462cf6b72 + content/62: 7a5306ca87adebb18badda8c71c2fd50 + content/63: caa2b0d55e3e16eac468e2ac24f75638 + content/64: bd08c9a99ac9de9e744acf707c63d9c7 + content/65: c35f19e893edcf5133314d92529f6776 + content/66: 2e1d1abf0e6f9aff7258f46c2abcae89 + content/67: 5dc226472c65b4ba45180679e99e2d45 + content/68: 8ad5437c22d9355e6f49fb3a02e6218e + content/69: 7d1d6f0bcf797c34f2f57b58dd206da0 + content/70: 436149dcd01091c2276a993508158b50 + content/71: 1a86273f9defa48d8cab18812e0e5fda + content/72: 7b6708ead697ca05dc79d75e5eae037d + content/73: eb42360f1b15ba1d610c0d5c8816b9e9 + content/74: 6141453684d77b2c3221b512f426ea2c + content/75: 57c20e44737342a99aa5754ff5b802e4 + content/76: ed0e6037a90a6fd162839b0618fe4369 + content/77: 354d0d3c5a9bdba749c1146bde5c0344 + content/78: ef6c6d46c7df905d5e13e39cccd1d5bd + content/79: 0a35607da09efc4106b3a9e7aa9c8220 + content/80: f2824e8ed4a13d0c778ccb2b9613cc9f + content/81: a5f6b04a7374f096fcec997d5c2de070 + content/82: b70f971eb946e783fefeb887976e8dbb + content/83: 38e583571422983757a56b6323d8a3ca + content/84: 417888d483d993505a99ddf1ec4bcd0e + content/85: 3fe63631cb6de88c8938ce4ce3d1b0e8 + content/86: a2031b376891aa1860ecbee1eac49976 + content/87: b3b73f874b36b6cbbbfef913ef9851fd + content/88: e3ba4a3b5328d89a5bcc630b335548cc + content/89: c04873471c4673cd9a23c3958272cfad + content/90: 8914aeaeaf0ed3782898c88633301d73 + content/91: 78aa41f174aa26fd12e737c67a035814 + content/92: 411117e702783b1917e147f6a52af4b0 + content/93: 2f2fa5989eaaa3e1d05c174bc90b7cb8 + content/94: 39feb14c150dff05fa02bfe5c4545ff2 + content/95: 1c8d7a860647a4d0aec442f5f9a2abb4 + content/96: b5d2e2fe5c4a70591235066277fb9219 + content/97: 3b918057d38e55597085ba4d01c12884 + content/98: 74cf359e4af0ff812d461eef16673990 + content/99: 64316f3281c6e36abe5616a2f5b744cb + content/100: 1fcb0a5fa6b1a235060c40c76485820a + content/101: c3ba38b36442828ddda8a194521f82fc + content/102: 943030140688dc88ea9a649fc9bff4f4 + content/103: 199bab7d43cd2c3718ddd29fe352a57e + content/104: 3b762e05c6bc198a04fb224db346babc + content/105: 680f1249b3ff429ed9a2ef19c1b8e212 + content/106: 011bf1957190b6d971ad4cbbe1cab634 + content/107: 30931622989be0faac6c110e6052dd27 + content/108: 065c20446dcb53ba98133252acb8a1ac + content/109: cd720baa2bbbdbabcef92617650d4f16 + content/110: 581484e744d4533441a7ecf5f9ee6936 + content/111: 2d5dce1b09b1c64b5de03ad2203f4f94 + content/112: df72ce71eb9d2d6d7e845cb0b3f6261f + content/113: bf54429c13ef27bcfe00b729568d186a + content/114: 8bb7a22fd32df91aa36a454533725662 + content/115: f91452426f73f49e8235c1fb784e3dff + content/116: 28ce2587fdb12e939d92b4f54a404905 + content/117: d713910ab5fa87d9f75711e3e5ed9409 + content/118: bd9e082565b399e812317b1e7836a3d9 + content/119: 450ad7f99b79b12599856f813b9ef758 + content/120: 4f9f49c4756aa59d40fcc76ca15669a9 + content/121: 8c531f8a7313cfc1ceb3f6018cac16fc + content/122: 361099ea70d7ad746b9da27195c8be71 + content/123: fc88562665f3e131e6fb9642913b52dd + content/124: 4f9f49c4756aa59d40fcc76ca15669a9 + content/125: 7382fbe98f4952c6d97f2efa3fbcc506 + content/126: 882a7d9a68fa18059ce74df22dbfd5f4 + content/127: d67a52d7440b6c4c0965e04db763eb6f + content/128: 7a749862caf740263429cc19939a9119 + content/129: c096ff1233fbf70fa8c747d382128db8 + content/130: d4da3229e85339bd84cb499ebe8a6c2c + content/131: 5091faf9d062336fcfdd9d623ff3b18c + content/132: 9cf453bfdea447dd15fdcc20caeaac67 + content/133: 84ec886d5ec481a1fa291f254b0c1c3b + content/134: f5827cddbd655ee17c53a1d930361952 + content/135: 5fcc241c4e137b7b95e879d3d6faf2e0 + content/136: 87ff001cbfffbea489f35237ec4b3a00 + content/137: c4612004b172a67ada8b735788931f4a + content/138: 01a046b7e20adf818f1775ad648dbb31 + content/139: ce183890b70b224575ccc9b15ac82d92 + content/140: 9fe207b4b395adc6fe443a73115cb521 + content/141: f9742e32d031ba0f61c07867bac327cf + content/142: 63afeb70198c6ae9db78a178755be1c8 + content/143: 33e488bde1644b268ede8ba7e74fa610 + content/144: 368c363e427543da7021aadc3b36f2b1 + content/145: 28da394c0f3d335265dba90d450905e5 + content/146: f8c543225adc27eeb4d3497778205b36 + content/147: d676024f1d9a798af6b0cd1578db4cdc + content/148: 22eba547201080e2264d228eb7127a5c + content/149: 36d87035e9dc67ff06d8acf329082cdc + content/150: f05f450fffcb17520c441ab9789f40ce + content/151: a1903b45100c2dff202ae1ce39f2179d + content/152: bc2f4a04752cebc1ea90de3c91b90f43 + content/153: e6cd1063a125409716c56cd6c404da08 + content/154: f05f450fffcb17520c441ab9789f40ce + content/155: 665f1a0f97a8ed964884577a65ac7405 + content/156: 3b3b915d60481551e71423bd11395b12 + content/157: f05f450fffcb17520c441ab9789f40ce + content/158: 1645781d73c1c0475ba031a6d7fa3dcd + content/159: 56b77a78f876b44632c2b0666b810232 + content/160: f05f450fffcb17520c441ab9789f40ce + content/161: acb42fb34c6121a0a35d01eb5e67c95f + content/162: f7360690a2ff9faa4c75e37b1f1a1d01 + content/163: f05f450fffcb17520c441ab9789f40ce + content/164: df0c99fa84dab2313889b049344cf146 + content/165: 0dffa2a4fc435694ba533c066b2b56e2 + content/166: 7d6a67016780eec0da8c334a203df5c3 + content/167: 62a2b9d120a65791694f0684245656df + content/168: 718fbc0abb4d1c2972cbb75a09653065 + content/169: 786278b58be1807f26febd9152251615 + content/170: 57eb390ff7518efc9d723519e4d3ec36 + content/171: 211bd6c398c012e711fa7ed06b46b5c0 + content/172: dfa98a8b67a63b030fc2c49d13d2e553 + content/173: a3a0033264f0b93f071bb0cfb3543dac + content/174: 756a8b80c92aca7240b202c39b0f06da + content/175: 61859b3e15814c12d2533bb28358c7fd + content/176: 485f59fd0219fb443ad44115d3762f30 + content/177: 08618cca4b06b125b9f97b3e99870f74 + content/178: 83fe5472294960bdf0369226f3bc8270 + content/179: 87588d0c75b0a011dc313537df66d305 + content/180: b639f7f3c9a525d8fdff99f68327620e + content/181: f8885cab1080690f0a98244889b264d2 + content/182: 8c92b1f3abd89fd3ef7020a92b903647 + content/183: 23fe4696250a4cfa4dc7b81737b70fe4 + content/184: 4c2227fde437ddfaf83aa8217e369a4b + content/185: 9000d40f65dda313c2e85f53cba55295 + content/186: 2cb23f69c40ebbb1e7a4e2358af302d5 + content/187: 58641fd781018e4cd5861d4c991d7dd0 + content/188: b7e82d68de4a6969f82b511dcb4a74da + content/189: e1d68e28af0e1354c27bfbcefb680be8 + content/190: 429bbf0aacdfd972a01387b0ddd0627b + content/191: 6db8a0e4b5e45c3fe5e1f108373c9fef + content/192: 441d7f8657a9c3e3c08b24b1cd541111 + content/193: 343400cceaf7cce9cb41b26e63491635 + content/194: dc70643de2ec93f00fba9556ecdeb199 + content/195: 215a82296dd6ee5646c5820decba94d4 + content/196: 76961d597344bf9f07e7e9ed0e4ff095 + content/197: 56d8f1462eb7a6945a7f11dc0a3f40a1 + content/198: 0436f9cd012089496684c45991fea223 + content/199: 919c1be47d9dac80aded7b495df194dd + content/200: f6439c5eed956c464682e3496e39c1ca + content/201: 3439bf307995fd9be5d323b4b6517b5e + content/202: d9db4c5d634d8e0f96b5ec6f998b647d + content/203: a56bd23f4cec82e8b6276655027a3d57 + content/204: 59ab60d3b78af736e0dd26f250f8c918 + content/205: a88eccd56b7e86a6673ebdcf9ef52bc8 + content/206: 04c2cedc52b3d387c54971a649527bf7 + content/207: b826a04fdee8e72e4ccfd08d9ae6df02 + content/208: 79524f874744893afda00224a0203ea6 + content/209: ae9dd7c61faf42e2e991dd2273f74c4e + content/210: 4f9f49c4756aa59d40fcc76ca15669a9 + content/211: c6cadae7373ca2e8b2159a4c07e9421b + content/212: 7a451aee1061c1cf2a4108f13acbafff + content/213: 10e8e9a59847ddd720c6d06b12c7b120 + content/214: 9799b973234bf2d10d5c971b267f55a5 8778ce33b437bfe84d10ae5b53b75eb2: meta/title: b8630556f011d979c83adde81fb028ff meta/description: bf8bdc8e4e35c2735cc9d3ca6c430c8c @@ -4059,21 +4060,22 @@ checksums: meta/description: b960488b8d32371b5f7db195206a53a0 meta/og%3Adescription: b960488b8d32371b5f7db195206a53a0 meta/icon: a6ea88d24fac9afaeac9d47d4bf15ee7 - content/0: a4321e90ec5efaa3b43167481b8a5196 - content/1: 30f7115dc39ab2e47d5a010742774bb6 - content/2: 8975ad1e5b2a27ac0393deed7adfee59 - content/3: aeca94b6b73865add8169ee8cfea6172 - content/4: c284ba5e0620c05f7c132fec7ae339fe - content/5: e910d6bc7eee0cddf3547d97b36d00dd - content/6: 44d499d24d32a55a55c36f2565f94a08 - content/7: 9abac14479f2d398c93be03235252dbb - content/8: 441456ab50f9802c00b10d5807ee8e29 - content/9: 1953edb65754702d29237a8d52452b1c - content/10: 5b6b7089da3a65dc8dcf52da6626f86f - content/11: 62d898f4de566ae58cd3ff4d809a3f78 - content/12: c8507d9f8af728a98947276e805cdee4 - content/13: 10e8e9a59847ddd720c6d06b12c7b120 - content/14: 9799b973234bf2d10d5c971b267f55a5 + content/0: bc25e42de2185c699bd8a6b63ebac6ab + content/1: 20d4b19a92bac71679d0c2e361d49511 + content/2: 30f7115dc39ab2e47d5a010742774bb6 + content/3: 8975ad1e5b2a27ac0393deed7adfee59 + content/4: aeca94b6b73865add8169ee8cfea6172 + content/5: c284ba5e0620c05f7c132fec7ae339fe + content/6: e910d6bc7eee0cddf3547d97b36d00dd + content/7: 44d499d24d32a55a55c36f2565f94a08 + content/8: 9abac14479f2d398c93be03235252dbb + content/9: 441456ab50f9802c00b10d5807ee8e29 + content/10: 1953edb65754702d29237a8d52452b1c + content/11: 5b6b7089da3a65dc8dcf52da6626f86f + content/12: 62d898f4de566ae58cd3ff4d809a3f78 + content/13: c8507d9f8af728a98947276e805cdee4 + content/14: 10e8e9a59847ddd720c6d06b12c7b120 + content/15: 9799b973234bf2d10d5c971b267f55a5 0aa03afe40e6b5a177e95b4f09232551: meta/title: b01dbdd049ebbd4a349fa64d6ce65a3b meta/description: 021f31908139c6383f901fefd6a80d5d @@ -7263,3 +7265,21 @@ checksums: content/0: c3d96e3528a55b20b8fbcae10af25b02 content/1: 264d832bc605beaf5168c080bfed567c content/2: 580af53aa9812f2ec29a632e145669a5 + c7cf8b32be0238d7c5c95f15467af724: + meta/title: 4b34923fef858a2b9a4a914c3e822889 + meta/description: 52fbd09d50a8fc477b97d69b5ec7d52f + meta/og%3Adescription: 52fbd09d50a8fc477b97d69b5ec7d52f + meta/icon: 4411b430bd6f32cc473899fddcb3723f + content/0: bc25e42de2185c699bd8a6b63ebac6ab + content/1: 48175e86b0ec8ed4d0eedd52ed08c612 + content/2: 751dba0b60b284df6b4eb911e2b6bca7 + content/3: c72c72004268a958976d73a1b0040307 + content/4: 5cecf525849fc687d347cae8fca02ab4 + content/5: f9081cdd115532bfd54a2c868fbd5388 + content/6: 5123f5a36b6ad1dc4c5beacb498d3ca0 + content/7: 242479a25b2aec83afebf0f8c9b5b0dc + content/8: a4339baade0dc8484d6c88816fbfb3f3 + content/9: a600e2aee7d68f1663396306988c5d2e + content/10: c416f2691f83c4decd07f9d1bd2eddf4 + content/11: 10e8e9a59847ddd720c6d06b12c7b120 + content/12: 9799b973234bf2d10d5c971b267f55a5 From 43d49356950e1e5d8753b905bf1eb4de78f076ec Mon Sep 17 00:00:00 2001 From: Charlie Hopkins-Brinicombe Date: Sun, 25 Oct 2026 12:44:44 +0000 Subject: [PATCH 3/3] vale --- styles/config/vocabularies/Trophy/accept.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/styles/config/vocabularies/Trophy/accept.txt b/styles/config/vocabularies/Trophy/accept.txt index 42d286a5..52fa45e1 100644 --- a/styles/config/vocabularies/Trophy/accept.txt +++ b/styles/config/vocabularies/Trophy/accept.txt @@ -3,6 +3,7 @@ MAUs [Bb]ackoff [Gg]amification SDKs +SLAs gamified [Ii]dempotency overcounting