Հայաստանի Հանրապետության
Հանրային Ծառայությունները Կարգավորող Հանձնաժողով

Հաղորդագրություններ

Պարզաբանում ինտերնետ ծառայություններ մատուցողների համար նախատեսվող կարգավորումների վերաբերյալ

21/10/2019

Վերջին օրերին սոցիալական ցանցերում և ԶԼՄ-ներով ակտիվորեն քննարկվում է ՀՀ հանրային ծառայությունները կարգավորող հանձնաժողովի «Էլեկտրոնային հաղորդակցության ոլորտում կարգավորվող անձանց կողմից մատուցվող ինտերնետ հասանելիության ծառայությունների վերաբերյալ արխիվների պահպանման ստանդարտներ սահմանելու մասին» որոշման նախագիծը, որի առնչությամբ հնչում են իրականությանը չհամապատասխանող մի շարք մտահոգություններ և կարծիքներ, այդ թվում՝ ինտերնետից օգտվելու ազատության սահմանափակման, դրա բովանդակության (կոնտենտի) և բաժանորդների անձնական տվյալների բացահայտման, նախագծի ոչ թափանցիկ՝ «ծածուկ» քննարկումների վերաբերյալ:
Այս կապակցությամբ ՀՀ հանրային ծառայությունները կարգավորող հանձնաժողովը հայտնում է հետևյալը.
«Էլեկտրոնային հաղորդակցության մասին» օրենքի համաձայն՝ յուրաքանչյուր օպերատոր և ծառայություններ մատուցող պարտավոր է իր հաճախորդների կողմից օգտագործվող ծառայությունների տեսակի, վայրի, նպատակի, նպատակակետի, քանակի, տեխնիկական պայմանների և հաճախորդի անձնական տվյալների վերաբերյալ տեղեկությունները համարել և պահել գաղտնի: Նշված տեղեկությունները կարող են բացահայտվել բացառապես օրենքով սահմանված դեպքերում և կարգով (49-րդ հոդված): Հիշյալ կարգավորումը կիրառելի է լինելու նաև նախագծով կարգավորվող հարաբերությունների նկատմամբ:
Խնդրի կարգավորման անհրաժեշտությունը պայմանավորված է ինտերնետ հասանելիության ծառայություններ մատուցող անձանց կողմից համապատասխան տեղեկությունների պահպանման և օրենքով նախատեսված հիմքերի պարագայում իրավապահ մարմիններին դրանց հասանելի դարձվելու դեպքերում՝ այդ հարաբերությունների հստակեցմամբ:
Նախագիծը մշակվել է օրենքով հանձնաժողովին վերապահված իրավասության շրջանակում, այն է՝ ընդունել կարգավորման ենթակա անձանց համար արխիվների պահպանման ստանդարտներ, սահմանել հանրային կամ ազգային անվտանգության շահերից բխող հատուկ կանոններ և կարգեր (Օրենքի 5-րդ հոդվածի 1-ին մասի 2-րդ կետ)։
Խնդրի կանոնակարգման հիմքում ընկած է միջազգային առաջավոր փորձը, այդ թվում՝ Եվրոպական խորհրդարանի և Խորհրդի 2006 թվականի մարտի 15-ի №2006/24/ԵՀ կանոնակարգը, ԵՄ անդամ մի շարք պետությունների (այդ թվում՝ Չեխիայի, Լատվիայի և Միացյալ Թագավորության) էլեկտրոնային հաղորդակցության ոլորտի իրավական կարգավորումները։
Տարընկալումներից խուսափելու նպատակով, կարևոր է նկատի ունենալ, որ ինտերնետ ծառայություններ մատուցող անձինք ինտերնետային բովանդակության (կոնտենտի) պահպանման որևէ իրավասություն չունեն, ավելին, օրենքով հանձնաժողովին վերապահված չէ կոնտենտի հետ կապված որևէ կարգավորիչ գործառույթ (այդ թվում՝ վերահսկում, խմբագրում, պահպանում):
Հանրային քննարկումների մասով.

Հանձնաժողովը, որպես կոլեգիալ ինքնավար մարմին, իր բոլոր որոշումներն ընդունում է դռնբաց նիստերի միջոցով՝ նախապես քննարկելով բոլոր շահագրգիռ կողմերի հետ: Նորմատիվ կարգավորումների ընդունման դեպքում նշվածին գումարվում են հանրային լայն քննարկումներ, որոնք հաջորդում են ակտի անմիջական հասցեատերերի հետ քննարկումներին:
Խնդրո առարկա նախագիծը ներկայացվել է ավելի քան 170 ինտերնետ ծառայություններ մատուցող անձանց (օպերատորների), ինչպես նաև ՀՀ բարձր տեխնոլոգիական արդյունաբերության նախարարության և ՀՀ ազգային անվտանգության ծառայության քննարկմանը։ Վերջիններիս կարծիքները ստանալուց, ամփոփելուց և նրանց հետ անհրաժեշտ քննարկումներն ավարտելուց հետո լրամշակված նախագիծն անցնելու է առավել լայն հանրային քննարկման փուլ, այդ թվում՝ տեղադրվելով իրավական ակտերի նախագծերի հրապարակման միասնական ինտերնետային կայքում (www.e-draft.am), հանձնաժողովի պաշտոնական www.psrc.am կայքում:
Ամփոփելով, հայտնում ենք, որ նախագծի ոչ թափանցիկ՝ «ծածուկ» քննարկումների և հնարավոր ընդունման վերաբերյալ պնդումները չեն համապատասխանում իրականությանը, ավելին, հանձնաժողովը բաց է նախագծի վերաբերյալ ցանկացած կառուցողական առաջարկության ու դիտողության քննարկման համար և նախաձեռնված գործընթացում ակնկալում է Ձեր ակտիվ մասնակցությունը:

Whoops! There was an error.
ErrorException (E_WARNING)
file_put_contents(): Only 0 of 224 bytes written, possibly out of free disk space ErrorException thrown with message "file_put_contents(): Only 0 of 224 bytes written, possibly out of free disk space" Stacktrace: #7 ErrorException in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #6 file_put_contents in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:122 #5 Illuminate\Filesystem\Filesystem:put in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Session/FileSessionHandler.php:83 #4 Illuminate\Session\FileSessionHandler:write in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Session/Store.php:128 #3 Illuminate\Session\Store:save in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:87 #2 Illuminate\Session\Middleware\StartSession:terminate in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:218 #1 Illuminate\Foundation\Http\Kernel:terminateMiddleware in /var/www/html/pages/www.psrc.am/public_html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:189 #0 Illuminate\Foundation\Http\Kernel:terminate in /var/www/html/pages/www.psrc.am/public_html/public/index.php:60
7
ErrorException
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
6
file_put_contents
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
122
5
Illuminate
\
Filesystem
\
Filesystem
put
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
83
4
Illuminate
\
Session
\
FileSessionHandler
write
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
128
3
Illuminate
\
Session
\
Store
save
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
87
2
Illuminate
\
Session
\
Middleware
\
StartSession
terminate
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
218
1
Illuminate
\
Foundation
\
Http
\
Kernel
terminateMiddleware
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
189
0
Illuminate
\
Foundation
\
Http
\
Kernel
terminate
/
public
/
index.php
60
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "file_put_contents(): Only 0 of 224 bytes written, possibly out of free disk space"
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Filesystem
/
Filesystem.php
     *
     * @param  string  $path
     * @return string
     */
    public function hash($path)
    {
        return md5_file($path);
    }
 
    /**
     * Write the contents of a file.
     *
     * @param  string  $path
     * @param  string  $contents
     * @param  bool  $lock
     * @return int
     */
    public function put($path, $contents, $lock = false)
    {
        return file_put_contents($path, $contents, $lock ? LOCK_EX : 0);
    }
 
    /**
     * Prepend to a file.
     *
     * @param  string  $path
     * @param  string  $data
     * @return int
     */
    public function prepend($path, $data)
    {
        if ($this->exists($path)) {
            return $this->put($path, $data.$this->get($path));
        }
 
        return $this->put($path, $data);
    }
 
    /**
     * Append to a file.
Arguments
  1. "/var/www/html/pages/www.psrc.am/public_html/storage/framework/sessions/GcoB8TAGwLfDqjxy97BJciIayWfbnR0rt2xAxm9E"
    
  2. "a:4:{s:6:"_token";s:40:"JgXVm3rkNyfkZc5yPW6yleBDnQG9VmxWjBEy1pUN";s:6:"locale";s:2:"am";s:9:"_previous";a:1:{s:3:"url";s:44:"http://old.psrc.am/public/am/news/topic/4765";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. 2
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
FileSessionHandler.php
    /**
     * {@inheritdoc}
     */
    public function read($sessionId)
    {
        if ($this->files->exists($path = $this->path.'/'.$sessionId)) {
            if (filemtime($path) >= Carbon::now()->subMinutes($this->minutes)->getTimestamp()) {
                return $this->files->get($path, true);
            }
        }
 
        return '';
    }
 
    /**
     * {@inheritdoc}
     */
    public function write($sessionId, $data)
    {
        $this->files->put($this->path.'/'.$sessionId, $data, true);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function destroy($sessionId)
    {
        $this->files->delete($this->path.'/'.$sessionId);
 
        return true;
    }
 
    /**
     * {@inheritdoc}
     */
    public function gc($lifetime)
    {
        $files = Finder::create()
Arguments
  1. "/var/www/html/pages/www.psrc.am/public_html/storage/framework/sessions/GcoB8TAGwLfDqjxy97BJciIayWfbnR0rt2xAxm9E"
    
  2. "a:4:{s:6:"_token";s:40:"JgXVm3rkNyfkZc5yPW6yleBDnQG9VmxWjBEy1pUN";s:6:"locale";s:2:"am";s:9:"_previous";a:1:{s:3:"url";s:44:"http://old.psrc.am/public/am/news/topic/4765";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
  3. true
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Store.php
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForUnserialize($data)
    {
        return $data;
    }
 
    /**
     * Save the session data to storage.
     *
     * @return bool
     */
    public function save()
    {
        $this->ageFlashData();
 
        $this->handler->write($this->getId(), $this->prepareForStorage(
            serialize($this->attributes)
        ));
 
        $this->started = false;
    }
 
    /**
     * Prepare the serialized session data for storage.
     *
     * @param  string  $data
     * @return string
     */
    protected function prepareForStorage($data)
    {
        return $data;
    }
 
    /**
     * Age the flash data for the session.
     *
     * @return void
Arguments
  1. "GcoB8TAGwLfDqjxy97BJciIayWfbnR0rt2xAxm9E"
    
  2. "a:4:{s:6:"_token";s:40:"JgXVm3rkNyfkZc5yPW6yleBDnQG9VmxWjBEy1pUN";s:6:"locale";s:2:"am";s:9:"_previous";a:1:{s:3:"url";s:44:"http://old.psrc.am/public/am/news/topic/4765";}s:6:"_flash";a:2:{s:3:"old";a:0:{}s:3:"new";a:0:{}}}"
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Session
/
Middleware
/
StartSession.php
        if ($this->sessionConfigured()) {
            $this->storeCurrentUrl($request, $session);
 
            $this->addCookieToResponse($response, $session);
        }
 
        return $response;
    }
 
    /**
     * Perform any final actions for the request lifecycle.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Symfony\Component\HttpFoundation\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        if ($this->sessionHandled && $this->sessionConfigured() && ! $this->usingCookieSessions()) {
            $this->manager->driver()->save();
        }
    }
 
    /**
     * Start the session for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Contracts\Session\Session
     */
    protected function startSession(Request $request)
    {
        return tap($this->getSession($request), function ($session) use ($request) {
            $session->setRequestOnHandler($request);
 
            $session->start();
        });
    }
 
    /**
     * Get the session implementation from the manager.
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
                continue;
            }
 
            list($name) = $this->parseMiddleware($middleware);
 
            $instance = $this->app->make($name);
 
            if (method_exists($instance, 'terminate')) {
                $instance->terminate($request, $response);
            }
        }
    }
 
    /**
     * Gather the route middleware for the given request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return array
     */
    protected function gatherRouteMiddleware($request)
    {
        if ($route = $request->route()) {
            return $this->router->gatherRouteMiddleware($route);
        }
 
        return [];
    }
 
    /**
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/am/news/topic/4765"
      #requestUri: "/public/am/news/topic/4765"
      #baseUrl: "/public"
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: "/public"
      format: "html"
    }
    
  2. Response {}
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
vendor
/
laravel
/
framework
/
src
/
Illuminate
/
Foundation
/
Http
/
Kernel.php
     */
    protected function dispatchToRouter()
    {
        return function ($request) {
            $this->app->instance('request', $request);
 
            return $this->router->dispatch($request);
        };
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    public function terminate($request, $response)
    {
        $this->terminateMiddleware($request, $response);
 
        $this->app->terminate();
    }
 
    /**
     * Call the terminate method on any terminable middleware.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Illuminate\Http\Response  $response
     * @return void
     */
    protected function terminateMiddleware($request, $response)
    {
        $middlewares = $this->app->shouldSkipMiddleware() ? [] : array_merge(
            $this->gatherRouteMiddleware($request),
            $this->middleware
        );
 
        foreach ($middlewares as $middleware) {
            if (! is_string($middleware)) {
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/am/news/topic/4765"
      #requestUri: "/public/am/news/topic/4765"
      #baseUrl: "/public"
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: "/public"
      format: "html"
    }
    
  2. Response {}
    
/
var
/
www
/
html
/
pages
/
www.psrc.am
/
public_html
/
public
/
index.php
|--------------------------------------------------------------------------
| Run The Application
|--------------------------------------------------------------------------
|
| Once we have the application, we can handle the incoming request
| through the kernel, and send the associated response back to
| the client's browser allowing them to enjoy the creative
| and wonderful application we have prepared for them.
|
*/
 
$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
 
$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);
 
$response->send();
 
$kernel->terminate($request, $response);
 
Arguments
  1. Request {
      #json: null
      #convertedFiles: null
      #userResolver: Closure {
        class: "Illuminate\Auth\AuthServiceProvider"
        this: AuthServiceProvider { …}
        parameters: {
          $guard: {
            default: null
          }
        }
        use: {
          $app: Application { …}
        }
      }
      #routeResolver: Closure {
        class: "Illuminate\Routing\Router"
        this: Router { …}
        use: {
          $route: Route { …}
        }
      }
      +attributes: ParameterBag {}
      +request: ParameterBag {#1}
      +query: ParameterBag {#1}
      +server: ServerBag {}
      +files: FileBag {}
      +cookies: ParameterBag {}
      +headers: HeaderBag {}
      #content: null
      #languages: null
      #charsets: null
      #encodings: null
      #acceptableContentTypes: array:1 [
        0 => "*/*"
      ]
      #pathInfo: "/am/news/topic/4765"
      #requestUri: "/public/am/news/topic/4765"
      #baseUrl: "/public"
      #basePath: null
      #method: "GET"
      #format: null
      #session: Store {}
      #locale: null
      #defaultLocale: "en"
      -isHostValid: true
      -isForwardedValid: true
      basePath: "/public"
      format: "html"
    }
    
  2. Response {}
    

Environment & details:

empty
empty
empty
empty
empty
Key Value
REDIRECT_STATUS
"200"
HTTP_ACCEPT
"*/*"
HTTP_USER_AGENT
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)"
HTTP_ACCEPT_ENCODING
"gzip, br, zstd, deflate"
HTTP_HOST
"old.psrc.am"
PATH
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SERVER_SIGNATURE
""
SERVER_SOFTWARE
"Apache"
SERVER_NAME
"old.psrc.am"
SERVER_ADDR
"10.148.11.53"
SERVER_PORT
"80"
REMOTE_ADDR
"13.59.1.209"
DOCUMENT_ROOT
"/var/www/html/pages/www.psrc.am/public_html"
REQUEST_SCHEME
"http"
CONTEXT_PREFIX
""
CONTEXT_DOCUMENT_ROOT
"/var/www/html/pages/www.psrc.am/public_html"
SERVER_ADMIN
"[no address given]"
SCRIPT_FILENAME
"/var/www/html/pages/www.psrc.am/public_html/public/index.php"
REMOTE_PORT
"35033"
REDIRECT_URL
"/public/am/news/topic/4765"
GATEWAY_INTERFACE
"CGI/1.1"
SERVER_PROTOCOL
"HTTP/1.1"
REQUEST_METHOD
"GET"
QUERY_STRING
""
REQUEST_URI
"/public/am/news/topic/4765"
SCRIPT_NAME
"/public/index.php"
PHP_SELF
"/public/index.php"
REQUEST_TIME_FLOAT
1747014606.013
REQUEST_TIME
1747014606
empty
0. Whoops\Handler\PrettyPageHandler