KI-Kennzeichnung (Art. 50 KI-VO): Pflicht-Deklaration für Text & Bilder
Selbstdeklaration des KI-Einsatzes je PM (Text) und je Bild inkl. Submit-Gate im PressReleaseService, versioniertem Audit-Trail (press_release_ai_declarations) und öffentlichem KI-Label in Einreicher-Stimme. Bestätigung im Submit-Modal ist Pflicht. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
1822dcbcd1
commit
c387048d7e
16 changed files with 833 additions and 3 deletions
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace Database\Factories;
|
||||
|
||||
use App\Enums\AiTextDeclaration;
|
||||
use App\Enums\Portal;
|
||||
use App\Enums\PressReleaseStatus;
|
||||
use App\Models\Category;
|
||||
|
|
@ -35,9 +36,25 @@ class PressReleaseFactory extends Factory
|
|||
'status' => PressReleaseStatus::Draft->value,
|
||||
'hits' => 0,
|
||||
'no_export' => false,
|
||||
// KI-Kennzeichnung (Art. 50 KI-VO): Standard „ohne KI", bestätigt —
|
||||
// damit erfüllen Test-PMs den Submit-Guard. Gate-Tests setzen die
|
||||
// Felder explizit auf null (siehe aiUndeclared()).
|
||||
'ai_text_declaration' => AiTextDeclaration::None->value,
|
||||
'ai_declaration_confirmed_at' => now(),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* PM ohne KI-Deklaration — zum Testen des Submit-Gates (Art. 50 KI-VO).
|
||||
*/
|
||||
public function aiUndeclared(): static
|
||||
{
|
||||
return $this->state([
|
||||
'ai_text_declaration' => null,
|
||||
'ai_declaration_confirmed_at' => null,
|
||||
]);
|
||||
}
|
||||
|
||||
public function published(): static
|
||||
{
|
||||
return $this->state([
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue