feat: add legal document acceptance and standard project files generation

Implement legal document acceptance tracking requiring users to accept
terms of service and privacy policy before continuing to use the system.
Add automatic generation of standard project files (LICENSE, README.md,
RULES.md, cookies.html, termos-de-uso.html, privacidade.html) with
download functionality. Enhance prompt building with detailed Portuguese
instructions and system requirements. Update seeders with comprehensive
legal content and standard files configuration for all prompt templates.
This commit is contained in:
2026-10-07 21:30:40 -03:00
parent 9b21d11e75
commit f2bca340f9
13 changed files with 883 additions and 75 deletions
+1
View File
@@ -15,6 +15,7 @@ class DatabaseSeeder extends Seeder
UserSeeder::class,
AiProviderSeeder::class,
PromptTemplateSeeder::class,
LegalDocumentSeeder::class,
TutorialSeeder::class,
]);
}
+129 -61
View File
@@ -18,90 +18,158 @@ class LegalDocumentSeeder extends Seeder
$superadmin = User::where('role', 'superadmin')->first();
$termsContent = <<<EOT
TERMOS DE USO
TERMOS DE USO - GPrompt
1. Aceitação dos Termos
Ao acessar e utilizar o sistema GPrompt, você concorda em cumprir estes Termos de Uso.
1. ACEITAÇÃO DOS TERMOS
Ao acessar e utilizar o sistema GPrompt, você concorda em cumprir integralmente estes Termos de Uso. Caso não concorde com qualquer disposição deste documento, você não deve utilizar o sistema.
2. Descrição do Serviço
O GPrompt é um sistema de geração de prompts para inteligência artificial.
2. DEFINIÇÕES
- Sistema: GPrompt, plataforma de geração de prompts para inteligência artificial
- Usuário: pessoa física ou jurídica que utiliza o sistema
- Conteúdo: qualquer informação, dado ou material inserido ou gerado pelo sistema
- LGPD: Lei Geral de Proteção de Dados Pessoais (Lei nº 13.709/2018)
3. Conta de Usuário
Você é responsável por manter a confidencialidade de sua conta e senha.
3. DESCRIÇÃO DO SERVIÇO
O GPrompt é um sistema de geração de prompts para inteligência artificial, permitindo a criação, gestão e otimização de prompts estruturados com suporte a múltiplos provedores de IA.
4. Conduta do Usuário
Você concorda em utilizar o sistema de acordo com as leis aplicáveis.
4. CADASTRO E CONTA DE USUÁRIO
4.1. Para utilizar o sistema, o usuário deve criar uma conta fornecendo informações precisas e atualizadas.
4.2. O usuário é integralmente responsável pela confidencialidade de suas credenciais de acesso.
4.3. O usuário compromete-se a notificar imediatamente qualquer uso não autorizado de sua conta.
4.4. O acesso de usuários não aprovados depende de autorização prévia do administrador.
5. Propriedade Intelectual
Todo o conteúdo e funcionalidades são de propriedade da Syspanel.
5. OBRIGAÇÕES DO USUÁRIO
5.1. Utilizar o sistema em conformidade com as leis brasileiras.
5.2. Não realizar atividades que possam comprometer a segurança do sistema.
5.3. Não inserir conteúdo ilegal, ofensivo ou que viole direitos de terceiros.
5.4. Não reproduzir, distribuir ou modificar o sistema sem autorização.
6. Limitação de Responsabilidade
O sistema é fornecido "como está", sem garantias.
6. PROPRIEDADE INTELECTUAL
6.1. O sistema GPrompt e todos os seus componentes são propriedade da Syspanel.
6.2. O conteúdo gerado pelo usuário através do sistema é de propriedade do usuário.
6.3. É proibida a engenharia reversa, descompilação ou tentativa de extrair o código fonte.
7. Modificações
Estes termos podem ser alterados a qualquer momento.
7. LIMITAÇÃO DE RESPONSABILIDADE
7.1. O sistema é fornecido "como está", sem garantias de disponibilidade contínua.
7.2. A Syspanel não se responsabiliza por danos decorrentes do uso ou da impossibilidade de uso do sistema.
7.3. A Syspanel não se responsabiliza pelo conteúdo gerado pela inteligência artificial através do sistema.
8. Lei Aplicável
Estes termos são regidos pelas leis brasileiras.
8. PRIVACIDADE E PROTEÇÃO DE DADOS
8.1. O tratamento de dados pessoais segue integralmente a LGPD.
8.2. Os dados coletados são utilizados exclusivamente para as finalidades descritas na Política de Privacidade.
8.3. O usuário pode exercer seus direitos de titular de dados a qualquer momento.
9. DISPOSIÇÕES GERAIS
9.1. Estes termos podem ser alterados a qualquer momento, mediante comunicação aos usuários.
9.2. O uso continuado após alterações constitui aceitação dos novos termos.
9.3. Foro: Comarca de São Paulo/SP para eventuais controvérsias.
10. CONTATO
Para esclarecimentos sobre estes termos, entre em contato: contato@syspanel.com.br
EOT;
$privacyContent = <<<EOT
POLÍTICA DE PRIVACIDADE
POLÍTICA DE PRIVACIDADE - GPrompt (LGPD)
1. Informações Gerais
Esta Política de Privacidade descreve como o GPrompt coleta e utiliza dados pessoais.
1. INFORMAÇÕES GERAIS
Esta Política de Privacidade descreve como o GPrompt coleta, utiliza, armazena e protege os dados pessoais dos usuários, em conformidade com a Lei Geral de Proteção de Dados Pessoais (Lei nº 13.709/2018).
2. Dados Coletados
- Nome e e-mail
- Senha (armazenada de forma segura)
- Dados de uso do sistema
2. TITULAR DO TRATAMENTO
Syspanel
CNPJ: XX.XXX.XXX/XXXX-XX
E-mail: contato@syspanel.com.br
3. DADOS PESSOAIS COLETADOS
3.1. Dados fornecidos pelo usuário:
- Nome completo
- Endereço de e-mail
- Senha de acesso (armazenada com criptografia hash - bcrypt)
- Dados da empresa (nome, endereço, WhatsApp, website, redes sociais)
3.2. Dados coletados automaticamente:
- Endereço IP
- Agente do navegador (user agent)
- Preferências de cookies
- Dados de uso do sistema
- Data e hora das interações
3. Finalidade da Coleta
- Autenticação e acesso ao sistema
- Geração de prompts com IA
4. FINALIDADES DO TRATAMENTO
- Autenticação e autorização de acesso ao sistema
- Geração e otimização de prompts com IA
- Histórico de gerações e projetos
- Comunicações sobre o serviço
- Segurança e prevenção de fraudes
- Cumprimento de obrigações legais
- Melhoria contínua do sistema
4. Base Legal
- Consentimento do usuário
- Execução de contrato
- Cumprimento de obrigação legal
- Legítimo interesse
5. BASES LEGAIS PARA O TRATAMENTO (LGPD - Art. 7º)
- Consentimento do titular (Art. 7º, I)
- Execução de contrato (Art. 7º, V)
- Cumprimento de obrigação legal ou regulatória (Art. 7º, II)
- Legítimo interesse (Art. 7º, IX)
5. Compartilhamento
Seus dados não são compartilhados com terceiros, exceto quando exigido por lei.
6. COMPARTILHAMENTO DE DADOS
6.1. Seus dados não são compartilhados com terceiros, exceto:
- Provedores de IA selecionados para geração de prompts (conforme sua escolha)
- Autoridades legais, quando exigido por lei
- Serviços de infraestrutura (hospedagem, banco de dados)
6. Armazenamento
Os dados são armazenados em servidores seguros durante o tempo necessário.
6.2. Não vendemos dados pessoais a terceiros.
7. Direitos do Titular
- Acesso aos dados
- Correção de informações
- Exclusão da conta
- Portabilidade
- Revogação do consentimento
7. ARMAZENAMENTO E SEGURANÇA
7.1. Os dados são armazenados em servidores seguros com acesso restrito.
7.2. Adotamos medidas técnicas e organizacionais para proteger os dados contra acesso não autorizado.
7.3. O período de armazenamento é o necessário para cumprir as finalidades descritas nesta política.
7.4. Dados de usuários inativos podem ser removidos após 12 meses.
8. Contato
Para exercer seus direitos, entre em contato: contato@syspanel.com.br
8. DIREITOS DO TITULAR (LGPD - Art. 18)
O titular dos dados tem direito a:
- Confirmar a existência de tratamento
- Acessar seus dados pessoais
- Corrigir dados incompletos, inexatos ou desatualizados
- Solicitar a anonimização, bloqueio ou eliminação de dados desnecessários
- Solicitar a portabilidade dos dados
- Revogar o consentimento a qualquer momento
- Solicitar a exclusão dos dados tratados com base no consentimento
- Ser informado sobre compartilhamento com entidades públicas e privadas
9. COOKIES
9.1. Utilizamos cookies necessários para o funcionamento do sistema.
9.2. Cookies opcionais (estatísticas, marketing, preferências) dependem do seu consentimento.
9.3. Você pode gerenciar suas preferências de cookies através do banner de cookies.
10. CONSENTIMENTO
Ao utilizar o sistema, você declara ter lido e compreendido esta Política de Privacidade e autoriza o tratamento de seus dados conforme aqui descrito.
11. ALTERAÇÕES
Esta política pode ser atualizada periodicamente. Alterações significativas serão comunicadas aos usuários.
12. CONTATO E DPO
Para exercer seus direitos ou esclarecer dúvidas sobre privacidade:
E-mail: contato@syspanel.com.br
Prazo de resposta: até 15 dias úteis (LGPD - Art. 19)
EOT;
LegalDocument::create([
'type' => 'terms-of-service',
'title' => 'Termos de Uso',
'content' => $termsContent,
'version' => '1.0',
'published_by' => $superadmin?->id,
'published_at' => now(),
]);
LegalDocument::updateOrCreate(
['type' => 'terms-of-service'],
[
'title' => 'Termos de Uso',
'content' => $termsContent,
'version' => '1.0',
'published_by' => $superadmin?->id,
'published_at' => now(),
]
);
LegalDocument::create([
'type' => 'privacy-policy',
'title' => 'Política de Privacidade',
'content' => $privacyContent,
'version' => '1.0',
'published_by' => $superadmin?->id,
'published_at' => now(),
]);
LegalDocument::updateOrCreate(
['type' => 'privacy-policy'],
[
'title' => 'Política de Privacidade',
'content' => $privacyContent,
'version' => '1.0',
'published_by' => $superadmin?->id,
'published_at' => now(),
]
);
}
}
}
+36
View File
@@ -29,6 +29,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_empresa, slogan, telefone, email, endereco, linkedin_url',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -48,6 +49,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_produto, slogan, trial_dias, preco_inicial, url_signup',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -67,6 +69,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_produto, preco, desconto, url_checkout',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -86,6 +89,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_evento, data, local, url_inscricao, valor',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -105,6 +109,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'titulo_ebook, autor, numero_paginas, url_download',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -124,6 +129,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_curso, instrutor, carga_horaria, preco, url_matricula',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -143,6 +149,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_app, slogan, url_ios, url_android, categoria',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -162,6 +169,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_agencia, especialidades, url_portfolio, telefone, email',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -181,6 +189,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_restaurante, cozinha, telefone, endereco, url_reserva',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -200,6 +209,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_imobiliaria, cidade, telefone, email, url_portfolio',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -219,6 +229,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_clinica, servicos, telefone, endereco, url_agendamento',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -238,6 +249,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_escola, cursos, telefone, email, url_matricula',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -257,6 +269,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_empresa, slogan, missao, telefone, email, endereco',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -276,6 +289,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome, profissao, email, linkedin, github, url_portfolio',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -295,6 +309,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome, profissao, estilo, url_portfolio, instagram',
'temperature' => 0.9,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -314,6 +329,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_autor, categoria_principal, url_newsletter',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -333,6 +349,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_loja, categoria, moeda, url_checkout',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -352,6 +369,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_sistema, modulo_principal, url_app',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -371,6 +389,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_sistema, metricas, periodo',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -390,6 +409,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_restaurante, categoria, telefone, url_cardapio',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -409,6 +429,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_modulo, entidade, nome_tabela',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -428,6 +449,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_recurso, nome_modelo, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -447,6 +469,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_modulo, entidade, campos_filtros',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -466,6 +489,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_projeto, tema, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -485,6 +509,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_app, tema_cores, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -504,6 +529,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_app, tema_cores, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -523,6 +549,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_projeto, database_url, modulo_principal',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -542,6 +569,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_modulo, entidade, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -561,6 +589,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_modulo, entidade, campos_customizados',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -580,6 +609,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_projeto, modulo_principal, entidades',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -599,6 +629,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_modulo, entidade, nome_tabela, provedores_ia, permissoes',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -618,6 +649,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_api, roles, provedor_ia',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -637,6 +669,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_sistema, servicos, broker_mensagens',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -656,6 +689,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_bot, provedor_ia, modelo, contexto',
'temperature' => 0.8,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -675,6 +709,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_plataforma, integracoes, acoes',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],
@@ -694,6 +729,7 @@ class PromptTemplateSeeder extends Seeder
'variables' => 'nome_servico, apis_origem, api_destino',
'temperature' => 0.7,
'max_tokens' => 4096,
'standard_files' => true,
],
'is_public' => true,
],