Saltare al contenuto

Linee guida per le recensioni dell'Android Play Store per IAP

GitHub

Per ottenere l'approvazione del tuo'app Android su Google Play è necessario rispettare le politiche di Google, soprattutto per le app con acquisti in-app e abbonamenti. Questa guida copre tutto ciò di cui hai bisogno per superare la revisione con successo.

  1. Crea un'app Android firmata in bundle

    Nuove applicazioni di Google Play dovrebbero essere caricate come un bundle Android (.aab), non un APK di debug caricato manualmente.

    Mantieni versionCode in aumento con ogni caricamento e conserva la tua chiave di caricamento al sicuro se utilizzi la firma di app di Play.

    Flusso di bundle Android

  2. Crea il record dell'applicazione nel Console di Play

    Se non hai ancora un account di sviluppatore, inizia con iscrizione al Console di Play. Poi, in Home > Crea appseleziona la lingua, il tipo di app/gioco, lo stato gratuito/pagato, l'indirizzo email di supporto e accetta le dichiarazioni richieste.

    Scegli attentamente lo stato gratuito/pagato. Google ti consente di cambiare un'app pagata in gratuita in un secondo momento, ma una volta che un'app è stata offerta gratuitamente, non può essere cambiata in pagata.

    Creare l'applicazione nel Console di Gioco

  3. Completa il contenuto dell'app e la lista del negozio

    Prima della revisione di produzione, completa le dichiarazioni richieste nel Console di Gioco:

    • Politica sulla privacy
    • Annunci
    • Accesso all'app
    • Destinatari e contenuto
    • Classificazione del contenuto
    • Sicurezza dei dati
    • Dichiarazioni di permessi sensibili, se applicabile
  4. Esegui un test di tracciamento installato su Play

    Inizia con test interni per una rapida QA. Se il tuo account di sviluppatore è un account personale creato dopo il 13 novembre 2023, devi anche completare un test chiuso con almeno 12 tester che hanno scelto di partecipare per 14 giorni consecutivi prima di avere accesso alla produzione.

    Test interni in Console Play

  5. Verifica la fatturazione End-to-End

    Installa l'applicazione da Google Play, non da un APK esportato localmente. Poi conferma che:

    • I prodotti si caricano correttamente da Play
    • La scheda acquisto mostra un acquisto di prova banner per i tester di licenza
    • Le entità si sbloccano dopo l'acquisto
    • Flussi di ripristino e gestione delle sottoscrizioni funzionano

Per beni e servizi digitali, tu devi utilizzare il sistema di fatturazione di Google Play:

Beni digitali (Devi Usare la Fatturazione di Play):

  • Sottoscrizioni a funzionalità premium
  • Moneta in-app o crediti
  • Contenuto digitale (libri, musica, video)
  • Aggiornamenti e potenziamenti di gioco
  • Dischi e livelli premium

Merci fisici (Non utilizzare Play Billing):

  • Merchandise fisica
  • Servizi nel mondo reale
  • Donazioni una tantum a organizzazioni non profit

:::note Configurazione abbonamento In Console Play, configurare le sottoscrizioni Android utilizzando il modello attuale abbonamento -> piano base -> offerta con il modello. In native-purchases, passa l'ID del Piano Base con planIdentifier. :::

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Ensure billing is available on the device
const { isBillingSupported } = await NativePurchases.isBillingSupported();
if (!isBillingSupported) throw new Error('Google Play Billing not available');
// Fetch subscription products (Store data is required—never hardcode pricing)
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly', 'premium_yearly'],
productType: PURCHASE_TYPE.SUBS,
});
// Plan identifiers are the Base Plan IDs you create in Google Play Console
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
planIdentifier: 'monthly-plan', // REQUIRED on Android, ignored on iOS
productType: PURCHASE_TYPE.SUBS,
});
console.log('Purchase token for server validation:', transaction.purchaseToken);

Google Play richiede una chiara divulgazione di tutti i costi prima dell'acquisto:

Elementi richiesti:

  • Prezzo esatto nella valuta locale dell'utente
  • Frequenza di fatturazione (mensile, annuale, ecc.)
  • Cosa è incluso nella sottoscrizione
  • Costo totale per offerte introduttive
  • Quando avverranno le addebitazioni

Pratiche di progettazione dell'interfaccia utente

Esempio di interfaccia utente conforme:

function SubscriptionCard({ product }) {
return (
<div className="subscription-card">
<h3>{product.title}</h3>
{/* Show intro offer if available */}
{product.introductoryPrice && (
<div className="intro-offer">
<p className="intro-price">{product.introductoryPriceString}</p>
<p className="intro-period">
for {product.introductoryPricePeriod}
</p>
</div>
)}
{/* Regular price */}
<div className="regular-price">
<p className="price">{product.priceString}</p>
<p className="period">per {product.subscriptionPeriod}</p>
</div>
{/* Clear description */}
<p>{product.description}</p>
{/* Renewal terms */}
<p className="terms">
Renews automatically. Cancel anytime in Google Play.
</p>
<button onClick={() => handlePurchase(product)}>
Subscribe Now
</button>
</div>
);
}

Prima che una sottoscrizione si rinnovi automaticamente, Google richiede:

  • Notifica chiara che il rinnovo avverrà
  • Ricordo del prezzo
  • Accesso facile alla cancellazione

Se vendi lo stesso diritto su più piattaforme, mantieni la denominazione del prodotto, il periodo di fatturazione, i benefici inclusi e il linguaggio di rinnovo allineati, in modo che gli utenti non siano sorpresi.

I prezzi possono differire legittimamente a causa di tasse, valuta locale o economia del negozio, ma l'interfaccia di acquisto non deve mai nascondere queste differenze o suggerire un costo di rinnovo diverso da quello che Google Play caricherà.

Se il tuo app include acquisti in-app, devi:

  1. Collegamento nella Lista dei Giochi di Google Play

    • Aggiungi URL della politica sulla privacy nel Console di Gioco
    • Deve essere accessibile al pubblico
    • Deve essere nella stessa lingua dell'app
  2. Collegamento all'interno dell'app

    • Visualizza la politica sulla privacy nelle impostazioni dell'app
    • Mostra prima di raccogliere qualsiasi dato utente
    • Fai facilmente scoprire

Esempio di Implementazione:

function SettingsScreen() {
const openPrivacyPolicy = () => {
window.open('https://yourapp.com/privacy', '_blank');
};
const openTerms = () => {
window.open('https://yourapp.com/terms', '_blank');
};
return (
<div>
<h2>Settings</h2>
<button onClick={openPrivacyPolicy}>
Privacy Policy
</button>
<button onClick={openTerms}>
Terms of Service
</button>
<button onClick={() => NativePurchases.manageSubscriptions()}>
Manage Subscriptions
</button>
</div>
);
}

Google Play richiede una dettagliata dichiarazione nella sezione della sicurezza dei dati:

Per le App IAP, dichiara:

  • Raccolta della storia degli acquisti
  • Indirizzi email (per ricevute)
  • ID dispositivi (per prevenzione frodi)
  • Gestione informazioni di pagamento
  • Raccolta dati di analisi

La sezione Sicurezza dei dati è vincolante per legge. Dichiarazioni inaccurate possono portare alla rimozione dell'app.

La recensione di Google Play non riguarda solo il binario. Prima di una versione di produzione, completa le dichiarazioni in Politiche e programmi > Contenuto dell'app.

Il minimo da revisionare con attenzione:

  • Politica sulla privacyURL pubblico nel Console di Gioco, più un punto di ingresso in-app quando richiesto
  • Annunci: Dichiarare se l'app contiene annunci
  • Accesso all'app: Dare ai revisori le credenziali di lavoro o una chiara via di prova se qualsiasi schermo è bloccato
  • Audience e contenuto: Corrispondere all'audience reale dell'app
  • Classificazione del contenuto: Compilare il questionario IARC per assicurarsi che l'app non sia contrassegnata come non classificata
  • Sicurezza dei dati: Dichiarare le pratiche di raccolta, condivisione e sicurezza dei dati in modo accurato

Perché Fallisce:

  • Non utilizzare Google Play Billing per beni digitali
  • Utilizzare API di fatturazione obsolete
  • Implementare soluzioni di pagamento personalizzate per le sottoscrizioni

Prevenzione:

// ✅ Correct: Use native-purchases (uses Google Play Billing)
await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
// ❌ Wrong: Custom payment processor for subscriptions
// await CustomPayment.charge(user, 9.99);

Perché Fallisce:

  • Il prezzo viene mostrato solo dopo aver cliccato su acquista
  • Frais aggiuntivi non resi noti in anticipo
  • Termini di abbonamento vaghi

Prevenzione:

function PurchaseScreen({ product }) {
return (
<div>
{/* Show ALL costs upfront */}
<h2>Premium Subscription</h2>
<div className="pricing">
<p className="price">{product.priceString}/month</p>
<p className="taxes">Taxes may apply based on location</p>
</div>
<div className="features">
<h3>Includes:</h3>
<ul>
<li>Ad-free experience</li>
<li>Unlimited cloud storage</li>
<li>Priority support</li>
</ul>
</div>
<div className="terms">
<p>
Subscription renews automatically unless cancelled at least
24 hours before the end of the current period.
</p>
<p>
Manage or cancel in Google Play Subscriptions.
</p>
</div>
<button onClick={handlePurchase}>
Start Subscription
</button>
</div>
);
}

Perché Fallisce:

  • Scegliere a priori le opzioni premium
  • Nascondere le alternative più economiche
  • Rendere difficile l'annullamento
  • Urgenza fittizia (“Solo 3 posti disponibili!”)

Linee guida per la descrizione

Linee guida per il marketing

Prevenzione:

  • Mostrare tutti i livelli di abbonamento in modo uguale
  • Fare chiare e accessibili le informazioni di annullamento
  • Evitare i timer di conto alla rovescia o la scarsità fittizia
  • Non utilizzare schemi oscuri per spingere opzioni costose

Perché Fallisce:

  • L'app si blocca quando si effettua un acquisto
  • I prodotti non si caricano
  • La conferma dell'acquisto non viene visualizzata
  • Le funzionalità premium non si attivano dopo l'acquisto
  • Il testing è stato eseguito solo su build caricati manualmente anziché su un canale di testing installato tramite Play Store

Prevenzione:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Comprehensive testing before submission
async function testPurchaseFlow() {
try {
// 1. Test product loading
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly', 'premium_yearly'],
productType: PURCHASE_TYPE.SUBS,
});
console.log('✓ Products loaded:', products.length);
// 2. Test purchase flow
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
console.log('✓ Purchase completed', transaction.transactionId);
// 3. Verify entitlements
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
if (
purchases.some(
(purchase) =>
purchase.productIdentifier === 'premium_monthly' &&
['PURCHASED', '1'].includes(purchase.purchaseState ?? '') &&
purchase.isAcknowledged,
)
) {
console.log('✓ Premium features unlocked');
}
// 4. Test restore
await NativePurchases.restorePurchases();
console.log('✓ Restore works');
} catch (error) {
console.error('✗ Test failed:', error);
}
}

Perché Fallisce:

  • Nessun link alla politica sulla privacy nell'app
  • La politica sulla privacy non è accessibile
  • La raccolta dei dati non è stata resa nota
  • La sezione sulla sicurezza dei dati non è precisa

Prevenzione:

  • Aggiungi il link alla politica sulla privacy nella lista dell'App Store
  • Includi il link nella sezione Impostazioni dell'app
  • Riempisci correttamente la sezione sulla sicurezza dei dati
  • Aggiorna la politica quando si aggiunge una nuova raccolta di dati

I programmi di fatturazione alternativi di Google sono specifici della regione e possono cambiare. Se desideri qualcosa diverso dalla fatturazione standard di Google Play, conferma l'eligibilità del mercato esatto, le API richieste e il linguaggio di dichiarazione nel Console di Play immediatamente prima dell'implementazione.

Gli utenti devono poter:

  • Visualizzare le sottoscrizioni attive facilmente
  • Cancellare senza contattare il supporto
  • Capire quando ha effetto la cancellazione

Eseguimento:

import { NativePurchases } from '@capgo/native-purchases';
function ManageSubscriptionButton() {
const openManagement = async () => {
try {
// Opens Google Play subscription management
await NativePurchases.manageSubscriptions();
} catch (error) {
// Fallback to direct URL
const playStoreUrl = 'https://play.google.com/store/account/subscriptions';
window.open(playStoreUrl, '_blank');
}
};
return (
<button onClick={openManagement}>
Manage Subscription in Google Play
</button>
);
}

Disciplina obbligatoria:

  • Quando ha effetto l'annullamento?
  • Gli utenti mantengono l'accesso fino a quando non scade il periodo?
  • Sono disponibili rimborsi parziali?
function CancellationInfo() {
return (
<div className="cancellation-info">
<h3>Cancellation Policy</h3>
<ul>
<li>Cancel anytime in Google Play</li>
<li>Access continues until end of billing period</li>
<li>No refunds for partial periods</li>
<li>Resubscribe anytime to regain access</li>
</ul>
<button onClick={() => NativePurchases.manageSubscriptions()}>
Manage in Google Play
</button>
</div>
);
}

Elenco di controllo pre-invio

  1. Verifica l'implementazione fatturazione

    • Utilizzando Google Play Billing (via native-purchases)
    • Tutti i prodotti di abbonamento creati nel Console di Play
    • Piani base e offerte configurati correttamente
    • I prodotti sono attivati e pubblicati
    • I prezzi sono impostati per tutti i paesi di destinazione
  2. Flussi di acquisto di test

    • Creare un account di test di licenza
    • Installare l'edificio da un tracciato di testing di Play
    • Testare ogni livello di abbonamento
    • Verificare che i prodotti si caricano correttamente
    • Testare la conclusione dell'acquisto
    • Confermare acquisto di prova appare la pubblicità
    • Verifica l'attivazione delle funzionalità premium
    • Test della ripristinazione della sottoscrizione
    • Test su più dispositivi
  3. Recensisci Tutta la Copia

    • I prezzi sono chiaramente visualizzati prima dell'acquisto
    • Tutti i costi sono resi noti in anticipo
    • I termini della sottoscrizione sono chiari
    • Il processo di cancellazione è spiegato
    • Nessuna affermazione ingannevole
  4. Contenuto dell'app e privacy

    • Politica sulla privacy collegata in Play Console
    • Politica sulla privacy accessibile nell'app
    • Completato la dichiarazione degli annunci
    • Aggiunto le istruzioni di accesso all'app se l'app è bloccata
    • Sezione sicurezza dei dati completata con precisione
    • Permessi giustificati e documentati
  5. Classificazione del contenuto e pubblico

    • Completa il questionario di classificazione del contenuto
    • Completa la sezione del pubblico e del contenuto
    • Assicurati che la classificazione corrisponda al contenuto reale
    • Declara le vendite in-app nel questionario
  6. Prepara la lista della store

    • Descrizione dell'app precisa
    • La descrizione breve è entro i 80 caratteri
    • La descrizione completa è entro i 4000 caratteri
    • Almeno 2 screenshot del telefono caricati
    • Caricato grafico di feature 1024x500
    • I screenshot mostrano la versione corrente
    • Sono caricati tutti gli asset richiesti

Accesso alla produzione per nuovi conti personali: Di solito 7 giorni o meno dopo l'invio dell'istanza Prima revisione di produzione: Spesso diversi giorni, a volte più a lungo se sono sollevate domande di fatturazione o politica Aggiornamenti: Spesso più veloci della prima versione, ma comunque revisionati Appelli: Prevedi diversi giorni e fornisce correzioni esatte e istruzioni per il revisore

:::tip Revisioni Continue A differenza di Apple, Google revisiona le app continuamente. La tua app può essere pubblicata in qualsiasi momento durante il periodo di revisione, non a un momento fissato. :::

  1. Aggiungi account di test:

    • Vai al Console di Gioco
    • Impostazioni > Test di licenza
    • Aggiungi account Gmail per il test
  2. Testa in Sandbox:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
// Test purchases with license test account
async function testInSandbox() {
const { isBillingSupported } = await NativePurchases.isBillingSupported();
if (!isBillingSupported) {
console.error('Billing not supported in this environment');
return;
}
// Fetch products (returns test pricing when using a license tester)
const { products } = await NativePurchases.getProducts({
productIdentifiers: ['premium_monthly'],
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test products:', products);
// Make test purchase (no charge)
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'premium_monthly',
planIdentifier: 'monthly-plan',
productType: PURCHASE_TYPE.SUBS,
});
console.log('Test purchase complete:', transaction.transactionId);
}
  1. Verifica banner di test:
    • Quando si effettua l'acquisto con un account di test
    • Si dovrebbe vedere la notifica di acquisto di test
    • Non si verificano spese reali

Prima della pubblicazione in produzione:

  1. Creare un test interni seguire per una rapida QA o un test chiusi seguire per un test più ampio
  2. Carica un file firmato .aab e pubblica il rilascio di test
  3. Aggiungi indirizzi email dei tester e condividi il link di opt-in
  4. Fai installare ai tester il build da Google Play
  5. Verifica che i flussi di acquisto funzionino in modo end-to-end sul build installato su Play
  6. Se il tuo account di sviluppatore personale è stato creato dopo il 13 novembre 2023, mantieni almeno 12 tester opzionati per un test chiuso per 14 giorni consecutivi prima di richiedere la produzione

Un build di debug caricato a sideload non è un sostituto per un build di test di Google Play installato quando si valuta Google Play Billing

Pratiche consigliate per acquisti nativi

Sezione intitolata “Buone Pratiche per Acquisti Nativi”
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function handlePurchase(productId: string, planIdentifier?: string) {
try {
setLoading(true);
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: productId,
planIdentifier,
productType: planIdentifier ? PURCHASE_TYPE.SUBS : PURCHASE_TYPE.INAPP,
});
console.log('Purchase token:', transaction.purchaseToken ?? transaction.receipt);
// Success - check entitlements from the store
const { purchases } = await NativePurchases.getPurchases({
productType: planIdentifier ? PURCHASE_TYPE.SUBS : PURCHASE_TYPE.INAPP,
});
const isOwned = purchases.some(
(purchase) =>
purchase.productIdentifier === productId &&
(purchase.purchaseState === 'PURCHASED' || purchase.purchaseState === '1') &&
purchase.isAcknowledged,
);
if (isOwned) {
unlockPremiumFeatures();
showSuccess('Premium activated!');
}
} catch (error: any) {
// Handle specific error cases
switch (error.code) {
case 'USER_CANCELLED':
// User backed out - no error needed
console.log('Purchase cancelled');
break;
case 'ITEM_ALREADY_OWNED':
// They already own it - restore instead
showInfo('You already own this! Restoring...');
await NativePurchases.restorePurchases();
break;
case 'ITEM_UNAVAILABLE':
showError('This subscription is currently unavailable. Please try again later.');
break;
case 'NETWORK_ERROR':
showError('Network error. Please check your connection and try again.');
break;
default:
showError('Purchase failed. Please try again.');
console.error('Purchase error:', error);
}
} finally {
setLoading(false);
}
}
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
function RestorePurchasesButton() {
const [loading, setLoading] = useState(false);
const handleRestore = async () => {
setLoading(true);
try {
await NativePurchases.restorePurchases();
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const hasSubscription = purchases.some(
(purchase) => purchase.productType === 'subs' && purchase.isAcknowledged,
);
if (hasSubscription) {
unlockPremiumFeatures();
showSuccess('Subscriptions restored!');
return;
}
// Check one-time unlocks if needed
const { purchases: iaps } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.INAPP,
});
const hasInApp = iaps.some((purchase) => purchase.productIdentifier === 'premium_unlock');
if (hasInApp) {
unlockPremiumFeatures();
showSuccess('Previous purchases restored!');
return;
}
showInfo('No previous purchases found.');
} catch (error) {
showError('Failed to restore purchases. Please try again.');
} finally {
setLoading(false);
}
};
return (
<button onClick={handleRestore} disabled={loading}>
{loading ? 'Restoring...' : 'Restore Purchases'}
</button>
);
}
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
async function checkSubscriptionStatus() {
try {
const { purchases } = await NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
const subscription = purchases.find(
(purchase) =>
purchase.productIdentifier === 'premium_monthly' &&
(purchase.purchaseState === 'PURCHASED' || purchase.purchaseState === '1') &&
purchase.isAcknowledged,
);
if (!subscription) {
showPaywall();
return;
}
console.log('Subscription active:', {
productId: subscription.productIdentifier,
expiresAt: subscription.expirationDate,
willRenew: subscription.willCancel === false,
purchaseToken: subscription.purchaseToken,
});
unlockPremiumFeatures();
} catch (error) {
console.error('Failed to check subscription:', error);
}
}

Politica dei Pagamenti:

  • Non utilizzo di Google Play Billing
  • Termini di abbonamento ingannevoli
  • Costi nascosti

Politica dei Dati Utente:

  • Mancanza di politica sulla privacy
  • Dichiarazioni di sicurezza dei dati inesatte
  • Autorizzazioni eccessive
  1. Verifica la Notifica di Violazione

    • Leggi la politica specifica citata
    • Capisci cosa Google ha segnalato
    • Controlla gli esempi che hanno fornito
  2. Risolvi il Problema

    • Affronta la causa radice, non solo i sintomi
    • Testa accuratamente dopo la correzione
    • Documenta tutte le modifiche apportate
  3. Presenta un'Appello (se applicabile)

    Procedura di chiarimento e Appello

    Subject: Policy Violation Appeal - [App Name]
    Dear Google Play Review Team,
    I have received notification that my app violates [Policy X.Y].
    I have made the following changes to comply:
    1. [Specific change made]
    2. [Specific change made]
    3. [Specific change made]
    The updated version [version number] addresses all concerns raised.
    Test account for verification:
    Email: test@example.com
    Password: TestPass123
    Thank you for your consideration.

    Richiedi un Esempio di Documentazione

  4. Risubmetti o Aggiorna

    • Carica la versione corretta
    • Risubmetti per la revisione
    • Monitora lo stato in Console di Gioco

La navigazione delle recensioni di Play Store può essere complessa, soprattutto quando si devono combinare la conformità alle norme di fatturazione, le dichiarazioni di contenuto dell'app e la configurazione del tracciamento di testing. Se avete bisogno di assistenza personalizzata:

Prendete un appuntamento di consulenza con il nostro team per aiuto con:

  • Preparazione completa della recensione di Play Store
  • Configurazione e reclutamento di tester del tracciamento di testing
  • Revisione dell'implementazione di IAP
  • Conformità alla sicurezza dei dati e alla privacy
  • Risoluzione dei problemi e ricorso per rifiuti
  • Processo di sottoscrizione completa dell'app

I nostri esperti hanno guidato centinaia di app attraverso le sottoscrizioni di Play Store riuscite e possono aiutarvi a navigare le attuali richieste.

Hai bisogno di aiuto con l'implementazione?

Continua da qui dalle linee guida di recensione dell'Android Play Store per IAP

Sezione intitolata “Continua da qui dalle linee guida di recensione dell'Android Play Store per IAP”

Se stai utilizzando Linee guida di recensione per l'Android Play Store per IAP per pianificare la sicurezza e la conformità, connettilo con Utilizzo di @capgo/native-purchases per la capacità nativa in Utilizzo di @capgo/native-purchases, Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scanner di Sicurezza per il workflow del prodotto in Capgo Scanner di Sicurezza, e Capgo Sicurezza per il workflow del prodotto in Capgo Sicurezza.